Skip to content
Snippets Groups Projects
Commit 4eafdea2 authored by Esben Haabendal's avatar Esben Haabendal
Browse files

openharmony-standard: appspawn bugfixes


Signed-off-by: default avatarEsben Haabendal <esben.haabendal@huawei.com>
parent 98a9ee8a
No related branches found
No related tags found
1 merge request!32openharmony-standard: Separate package for appspawn component
Pipeline #5984 passed
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
Patch for //base/startup/appspawn_standard repository of OpenHarmony 3.0 codebase.
Fix App_Spawn_Server_Override_007 test.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
Upstream-Status: Pending
diff --git a/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp b/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
index 8956e0c272b9..516ca82a8ef6 100644
--- a/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
+++ b/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
@@ -208,8 +208,9 @@ HWTEST_F(AppSpawnServerOverrideTest, App_Spawn_Server_Override_007, TestSize.Lev
{
GTEST_LOG_(INFO) << "App_Spawn_Server_Override_007 start";
- char longProcName[20] = "longProcName";
- int64_t longProcNameLen = strlen(longProcName);
+ char longProcName[22] = "longProcName";
+ // longProcName array must be large enough to hold processName set below
+ int64_t longProcNameLen = sizeof(longProcName);
char processName[32] = "processName0123456789";
int32_t len = sizeof(processName);
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
Patch for //base/startup/appspawn_standard repository of OpenHarmony 3.0 codebase.
Prevent buffer overflow error in AppSpawn::SetProcessName() when processName is
longer than longProcNameLen - 1.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
Upstream-Status: Pending
diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp
index 9e238409ad41..ea539e5b5b2a 100644
--- a/src/appspawn_server.cpp
+++ b/src/appspawn_server.cpp
@@ -267,7 +267,7 @@ int32_t AppSpawnServer::SetProcessName(
}
// set long process name
- if (strncpy_s(longProcName, len, processName, len) != EOK) {
+ if (strncpy_s(longProcName, longProcNameLen, processName, len) != EOK) {
HiLog::Error(LABEL, "strncpy_s long name error: %{public}d", strerror_r(errno, err_string, ERR_STRING_SZ));
return -EINVAL;
}
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
Patch for //base/startup/appspawn_standard repository of OpenHarmony 3.1 codebase.
Fix App_Spawn_Server_Override_007 test.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
Upstream-Status: Pending
diff --git a/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp b/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
index 8956e0c272b9..516ca82a8ef6 100644
--- a/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
+++ b/test/unittest/app_spawn_server_test/app_spawn_server_override_test.cpp
@@ -208,8 +208,9 @@ HWTEST_F(AppSpawnServerOverrideTest, App_Spawn_Server_Override_007, TestSize.Lev
{
GTEST_LOG_(INFO) << "App_Spawn_Server_Override_007 start";
- char longProcName[20] = "longProcName";
- int64_t longProcNameLen = strlen(longProcName);
+ char longProcName[22] = "longProcName";
+ // longProcName array must be large enough to hold processName set below
+ int64_t longProcNameLen = sizeof(longProcName);
char processName[32] = "processName0123456789";
int32_t len = sizeof(processName);
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
Patch for //base/startup/appspawn_standard repository of OpenHarmony 3.1 codebase.
Prevent buffer overflow error in AppSpawn::SetProcessName() when processName is
longer than longProcNameLen - 1.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
Upstream-Status: Pending
diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp
index 54f66450b81e..707aed8c924e 100644
--- a/src/appspawn_server.cpp
+++ b/src/appspawn_server.cpp
@@ -514,7 +514,7 @@ int32_t AppSpawnServer::SetProcessName(
}
// set long process name
- if (strncpy_s(longProcName, len, processName, len) != EOK) {
+ if (strncpy_s(longProcName, longProcNameLen, processName, len) != EOK) {
HiLog::Error(LABEL, "strncpy_s long name error: %{public}d", errno);
return -EINVAL;
}
...@@ -50,6 +50,8 @@ SRC_URI += "file://xf86drm.c-Add-drmWaitVBlank-hack.patch;patchdir=${S}/third_pa ...@@ -50,6 +50,8 @@ SRC_URI += "file://xf86drm.c-Add-drmWaitVBlank-hack.patch;patchdir=${S}/third_pa
SRC_URI += "file://graphic-standard-Add-missing-entry-for-libwms_client.patch;patchdir=${S}/foundation/graphic/standard" SRC_URI += "file://graphic-standard-Add-missing-entry-for-libwms_client.patch;patchdir=${S}/foundation/graphic/standard"
SRC_URI += "file://appspawn-procps.patch;patchdir=${S}/base/startup/appspawn_standard" SRC_URI += "file://appspawn-procps.patch;patchdir=${S}/base/startup/appspawn_standard"
SRC_URI += "file://base_startup_appspawn_standard-app-spawn-server-override-007-fix.patch;patchdir=${S}/base/startup/appspawn_standard"
SRC_URI += "file://base_startup_appspawn_standard-setprocessname-buffer-overflow.patch;patchdir=${S}/base/startup/appspawn_standard"
inherit python3native gn_base ptest inherit python3native gn_base ptest
......
...@@ -74,6 +74,8 @@ SRC_URI += "file://foundation_distributedschedule_safwk-slash-system-symlink.pat ...@@ -74,6 +74,8 @@ SRC_URI += "file://foundation_distributedschedule_safwk-slash-system-symlink.pat
SRC_URI += "file://foundation_distributedschedule_samgr-slash-system-symlink.patch;patchdir=${S}/foundation/distributedschedule/samgr" SRC_URI += "file://foundation_distributedschedule_samgr-slash-system-symlink.patch;patchdir=${S}/foundation/distributedschedule/samgr"
SRC_URI += "file://appspawn-procps.patch;patchdir=${S}/base/startup/appspawn_standard" SRC_URI += "file://appspawn-procps.patch;patchdir=${S}/base/startup/appspawn_standard"
SRC_URI += "file://base_startup_appspawn_standard-app-spawn-server-override-007-fix.patch;patchdir=${S}/base/startup/appspawn_standard"
SRC_URI += "file://base_startup_appspawn_standard-setprocessname-buffer-overflow.patch;patchdir=${S}/base/startup/appspawn_standard"
# Workaround for problem with nodejs 17: # Workaround for problem with nodejs 17:
# error:0308010C:digital envelope routines::unsupported # error:0308010C:digital envelope routines::unsupported
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment