[Prevent] Fixed prevent issues related wrt_launchpad_daemon
authorTaejeong Lee <taejeong.lee@samsung.com>
Wed, 9 Jan 2013 12:12:52 +0000 (21:12 +0900)
committerTaejeong Lee <taejeong.lee@samsung.com>
Wed, 9 Jan 2013 12:30:36 +0000 (21:30 +0900)
[Issue#]       prevent
[Bug]          Fixed prevent issues related wrt_launchpad_daemon
[Cause]        N/A
[Solution]     N/A

Change-Id: Ie7412eaa49abb24d63d2a7110f795d54f6cf0b83

src/wrt-launchpad-daemon/feature/preexec.h
src/wrt-launchpad-daemon/include/aul_util.h
src/wrt-launchpad-daemon/launchpad_src/launchpad.c
src/wrt-launchpad-daemon/legacy/preload.h
src/wrt-launchpad-daemon/src/app_sock.c

index d5e9907..25e1760 100644 (file)
@@ -54,7 +54,7 @@ static inline void __preexec_init(int argc, char **argv)
        void *handle = NULL;
        FILE *preexec_file;
        char *saveptr = NULL;
-       char line[MAX_LOCAL_BUFSZ];
+       char line[MAX_LOCAL_BUFSZ] = {0, };
        char *type = NULL;
        char *sopath = NULL;
        char *symbol = NULL;
@@ -109,6 +109,7 @@ static inline void __preexec_init(int argc, char **argv)
                           type, sopath);
                        free(type_t);
                        dlclose(handle);
+                       handle = NULL;
                        continue;
                }
 
index 4c8ece2..e32a589 100644 (file)
 #define MAX_PACKAGE_APP_PATH_SIZE 512
 #define MAX_RUNNING_APP_INFO 512
 
-struct history_data {
-       char pkg_name[MAX_PACKAGE_STR_SIZE];
-       char app_path[MAX_PACKAGE_APP_PATH_SIZE];
-       int pid;
-       int len;
-       unsigned char data[1];
-};
-
 typedef struct _app_status_info_t{
        char appid[MAX_PACKAGE_STR_SIZE];
        char app_path[MAX_PACKAGE_APP_PATH_SIZE];
index 00631d4..dd73037 100644 (file)
@@ -79,8 +79,6 @@ _static_ int __fake_launch_app(int cmd, int pid, bundle * kb);
 _static_ char **__create_argc_argv(bundle * kb, int *margc);
 _static_ int __normal_fork_exec(int argc, char **argv);
 _static_ void __real_launch(const char *app_path, bundle * kb);
-_static_ void __add_history(int caller, int callee, const char *pkgname,
-                               bundle *b, const char *app_path);
 static inline int __parser(const char *arg, char *out, int out_size);
 _static_ void __modify_bundle(bundle * kb, int caller_pid,
                            app_info_from_db * menu_info, int cmd);
@@ -290,48 +288,6 @@ _static_ void __real_launch(const char *app_path, bundle * kb)
        __normal_fork_exec(app_argc, app_argv);
 }
 
-_static_ void __add_history(int caller, int callee, const char *pkgname, 
-                               bundle *b, const char *app_path)
-{
-       struct history_data *hd;
-       bundle_raw *kb_data;
-       int len;
-
-       _D("***** HISTORY *****\n");
-       _D("%d ==> %d(%s) \n", caller, callee, pkgname);
-       _D("*******************\n");
-
-       if (b) {
-               bundle_encode(b, (bundle_raw **)&kb_data, &len);
-               hd = (struct history_data *)malloc(sizeof(char) * (len+1033));
-
-               strncpy(hd->pkg_name, pkgname, MAX_PACKAGE_STR_SIZE-1);
-               strncpy(hd->app_path, app_path, MAX_PACKAGE_APP_PATH_SIZE-1);
-               hd->pid = callee;
-               hd->len = len;
-               memcpy(hd->data, kb_data, len);
-
-               __app_send_raw(AUL_UTIL_PID, APP_ADD_HISTORY, (unsigned char *)hd,
-                       hd->len+1033);
-               free(kb_data);
-               free(hd);
-       } else {
-        hd = (struct history_data *)malloc(sizeof(struct history_data));
-
-               strncpy(hd->pkg_name, pkgname, MAX_PACKAGE_STR_SIZE-1);
-               strncpy(hd->app_path, app_path, MAX_PACKAGE_APP_PATH_SIZE-1);
-               hd->pid = callee;
-               hd->len = 0;
-
-               __app_send_raw(AUL_UTIL_PID, APP_ADD_HISTORY, (unsigned char *)hd,
-                       1033);
-               free(hd);
-       }
-
-       return;
-}
-
-
 /*
  * Parsing original app path to retrieve default bundle
  *
index 1a3bdba..313aa2a 100644 (file)
@@ -35,7 +35,7 @@ static int (*dl_efini) () = NULL;
 static inline void __preload_init(int argc, char **argv)
 {
        void *handle = NULL;
-       char soname[MAX_LOCAL_BUFSZ];
+       char soname[MAX_LOCAL_BUFSZ] = {0, };
        FILE *preload_list;
        int (*func)() = NULL;
        int i;
@@ -54,7 +54,7 @@ static inline void __preload_init(int argc, char **argv)
        }
 
        while (fgets(soname, MAX_LOCAL_BUFSZ, preload_list) > (char*)0) {
-               soname[strlen(soname) - 1] = 0;
+               soname[MAX_LOCAL_BUFSZ-1] = 0;
                handle = dlopen(soname, RTLD_NOW);
                if (handle == NULL)
                        continue;
index 95fe640..0e74b93 100644 (file)
@@ -52,7 +52,7 @@ int __create_server_sock(int pid)
 
        /* Create basedir for our sockets */
        orig_mask = umask(0);
-    (void) mkdir(AUL_SOCK_PREFIX, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX);
+       (void) mkdir(AUL_SOCK_PREFIX, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX);
        umask(orig_mask);
 
        fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
@@ -110,7 +110,7 @@ int __create_server_sock(int pid)
 
        if (listen(fd, 10) == -1) {
                _E("listen error");
-        close(fd);
+               close(fd);
                return -1;
        }
 
@@ -225,9 +225,9 @@ static int __connect_client_sock(int fd, const struct sockaddr *saptr, socklen_t
                return (-1);    /* select error: sockfd not set*/
 
  done:
-    (void) fcntl(fd, F_SETFL, flags);
+       (void) fcntl(fd, F_SETFL, flags);
        if (error) {
-               close(fd);      
+               close(fd);
                errno = error;
                return (-1);
        }