Remove cmdline when founding a process with db lock 39/310739/1
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 7 May 2024 10:54:25 +0000 (19:54 +0900)
committerilho kim <ilho159.kim@samsung.com>
Tue, 7 May 2024 11:08:09 +0000 (11:08 +0000)
Reading cmdline can cause smack deny

Change-Id: I1beb54269cc7a560040dbb4b9bd45ad14f29941a
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
(cherry picked from commit e27e39891dd91bb8f039fd9539b200c89f991a0c)

src/server/database/abstract_db_handler.cc

index 48e1b08..abe14f8 100644 (file)
@@ -47,7 +47,6 @@ static void CheckDbLock(const std::string& dbpath) {
   unsigned int min;
   unsigned long long ino;
   char cmdline[BUFSIZE];
-  char name[BUFSIZE];
   char type[1024];
 
   if (stat(dbpath.c_str(), &sb) == -1) {
@@ -67,22 +66,7 @@ static void CheckDbLock(const std::string& dbpath) {
         ino != sb.st_ino || pid == getpid())
       continue;
 
-    snprintf(cmdline, sizeof(cmdline), "/proc/%d/cmdline", pid);
-    FILE* fp_cmdline = fopen(cmdline, "r");
-    name[0] = '\0';
-    if (fp_cmdline != NULL) {
-      size_t len = fread(name, sizeof(char), sizeof(name) - 1,
-          fp_cmdline);
-      if (len > 0) {
-        if (name[len - 1] == '\n')
-          name[len - 1] = '\0';
-        else
-          name[len] = '\0';
-      }
-      fclose(fp_cmdline);
-    }
-
-    LOG(WARNING) << name << "(" << pid << ")" << "has lock("
+    LOG(WARNING) << "(" << pid << ")" << "has lock ("
         << type << ") on pkgmgr db(" << dbpath << ")";
   }