Fix checking mmap() return value 45/322545/3
authorKrzysztof Malysa <k.malysa@samsung.com>
Thu, 10 Apr 2025 19:39:41 +0000 (21:39 +0200)
committerKrzysztof Małysa <k.malysa@samsung.com>
Tue, 29 Apr 2025 13:07:15 +0000 (13:07 +0000)
Change-Id: I2d3355f28caa2e2cdddcae7cecb9c077329d3e42

src/common/app_install_helper.cpp

index 670f4ed8032f04b14aed04d0d7b61af662ea6aba..523848b496ead9da51719a3a976dc5042c4858ab 100644 (file)
@@ -342,11 +342,9 @@ void AppInstallHelper::getPUIDAndAGID() const {
     auto deleter = [&](void* addr) {
         RUNNER_ASSERT_ERRNO_MSG(munmap(addr, MMAP_SIZE) == 0, "munmap() failed");
     };
-    auto shmem = std::unique_ptr<void, decltype(deleter)>{mmap(nullptr, MMAP_SIZE,
-                                                               PROT_READ | PROT_WRITE,
-                                                               MAP_SHARED | MAP_ANONYMOUS, -1, 0),
-                                                          std::move(deleter)};
-    RUNNER_ASSERT_ERRNO_MSG(shmem.get(), "mmap() failed");
+    void* ptr = mmap(nullptr, MMAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0);
+    RUNNER_ASSERT_ERRNO_MSG(ptr != MAP_FAILED, "mmap() failed");
+    auto shmem = std::unique_ptr<void, decltype(deleter)>{ptr, std::move(deleter)};
     pid_t pid = fork();
     RUNNER_ASSERT_MSG(pid >= 0, "Fork failed");
     if (pid == 0) {