diff --git a/modules/common/appspawn_namespace.c b/modules/common/appspawn_namespace.c index e128c4ae55627b5ed4c655c4882a9e69fb6a0323..74ae78e1815912c34544657a1329a132276e6394 100644 --- a/modules/common/appspawn_namespace.c +++ b/modules/common/appspawn_namespace.c @@ -127,7 +127,12 @@ APPSPAWN_STATIC pid_t GetPidByName(const char *name) (void)fclose(file); continue; } - buffer[strcspn(buffer, "\n")] = 0; + size_t newline_pos = strcspn(buffer, "\n"); + if (newline_pos < sizeof(buffer) -1) { + buffer[newline_pos] = '\0'; + } else { + buffer[sizeof(buffer) -1] = '\0'; + } if (strcmp(buffer, name) != 0) { (void)fclose(file); continue; diff --git a/standard/appspawn_service.c b/standard/appspawn_service.c index 49fce14418250f28518c439434987f0676078b5a..b53f56d75627dd8e4560362ffd1def12d047dc8f 100644 --- a/standard/appspawn_service.c +++ b/standard/appspawn_service.c @@ -160,7 +160,7 @@ APPSPAWN_STATIC void WriteSignalInfoToFd(AppSpawnedProcess *appInfo, AppSpawnCon cJSON_AddStringToObject(root, "bundleName", appInfo->name); char *jsonString = cJSON_Print(root); cJSON_Delete(root); - + APPSPAWN_CHECK(jsonString != NULL, return, "jsonString is NULL"); int ret = write(content->signalFd, jsonString, strlen(jsonString) + 1); if (ret < 0) { free(jsonString);