SDB: fix prevent critical bug 35/15435/1
authorho.namkoong <ho.namkoong@samsung.com>
Tue, 21 Jan 2014 07:49:10 +0000 (16:49 +0900)
committerho.namkoong <ho.namkoong@samsung.com>
Tue, 21 Jan 2014 07:49:29 +0000 (16:49 +0900)
fix resource leak

Change-Id: I50d6cf711b0112c798a18c283952faf08e283a27
Signed-off-by: ho.namkoong <ho.namkoong@samsung.com>
src/auto_complete.c

index 79c19d633601fb5352801f16cc56ae140c19dc57..51754bc2a679a62ab42dff210d49b2355e9c0078 100644 (file)
@@ -218,20 +218,24 @@ static int initialize_ac(int complete) {
     null_fd = unix_open("/dev/null", O_WRONLY);
 
     if(null_fd < 0) {
+        sdb_close(null_fd);
         fprintf(stderr, "error: exception happend while opening /dev/null '%s'\n", strerror(errno));
         return -1;
     }
 
     if(dup2(null_fd, STDOUT_FILENO) < 0){
+        sdb_close(null_fd);
         fprintf(stderr, "error: exception happend while duplicating /dev/null to the stdout '%s'\n", strerror(errno));
         return -1;
     }
 
     if(dup2(null_fd, STDERR_FILENO) < 0){
+        sdb_close(null_fd);
         fprintf(stderr, "error: exception happend while duplicating /dev/null to the stderr '%s'\n", strerror(errno));
         return -1;
     }
 
+    sdb_close(null_fd);
     return 0;
 }
 
@@ -333,6 +337,8 @@ static int parse_uninstall(int argc, char** argv) {
                 }
             }
         }
+
+        free(pkg_id_tokens);
     }
 
     return -1;