diff options
author | Hwankyu Jhun <h.jhun@samsung.com> | 2020-05-18 14:06:53 +0900 |
---|---|---|
committer | Hwankyu Jhun <h.jhun@samsung.com> | 2020-05-18 14:06:53 +0900 |
commit | 499f8710606badf7dc620dc1a76d480b93859bc4 (patch) | |
tree | 50ce2ba0b5667c811f2c336424aabf6959ced47d | |
parent | 191ea766aa6662f24f28a810746d524ffe1b9e88 (diff) | |
parent | 6d04a1ac515e6efd3db6f0fcf91d4cdd56826730 (diff) | |
download | launchpad-499f8710606badf7dc620dc1a76d480b93859bc4.tar.gz launchpad-499f8710606badf7dc620dc1a76d480b93859bc4.tar.bz2 launchpad-499f8710606badf7dc620dc1a76d480b93859bc4.zip |
Merge branch 'tizen' into tizen_5.5submit/tizen_5.5/20200518.050707accepted/tizen/5.5/unified/20200518.161011
Change-Id: I239e562e26caf52731f0df0c6a78c3b7c4d50aba
-rw-r--r-- | packaging/launchpad.spec | 2 | ||||
-rw-r--r-- | src/hydra/src/launchpad_hydra.c | 26 |
2 files changed, 11 insertions, 17 deletions
diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 895aa65..e39fa09 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.14.4 +Version: 0.14.5 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 diff --git a/src/hydra/src/launchpad_hydra.c b/src/hydra/src/launchpad_hydra.c index f2c7779..3b94555 100644 --- a/src/hydra/src/launchpad_hydra.c +++ b/src/hydra/src/launchpad_hydra.c @@ -252,37 +252,35 @@ static int __handle_sigchld_event(sd_event_source *s, return 0; } -static int __create_client_socket(const char *path) +static int __create_client_socket(int type, int id) { struct sockaddr_un addr = { 0, }; int retry = CONNECT_RETRY_COUNT; int fd; - if (sizeof(addr.sun_path) <= strlen(path)) { - _E("lenght of path is too long"); - return -1; - } - fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); if (fd < 0) { - _E("Failed to create socket(%s). errno(%d)", path, errno); + _E("Failed to create socket(%d:%d). errno(%d)", + type, id, errno); return -1; } addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, path, sizeof(addr.sun_path)); - addr.sun_path[sizeof(addr.sun_path) - 1] = '\0'; + snprintf(addr.sun_path, sizeof(addr.sun_path), + "%s/daemons/%d/%s%d-%d", + SOCKET_PATH, getuid(), HYDRA_LOADER_SOCKET_NAME, + type, id); while (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { if (errno != ETIMEDOUT || retry <= 0) { _E("Failed to connect socket(%s). errno(%d)", - path, errno); + addr.sun_path, errno); close(fd); return -1; } usleep(CONNECT_RETRY_TIME); retry--; - _W("Retry(%d) to connect %s", retry, path); + _W("Retry(%d) to connect %s", retry, addr.sun_path); } return fd; @@ -290,7 +288,6 @@ static int __create_client_socket(const char *path) int __connect_to_launchpad_hydra(int type, int id) { - char path[PATH_MAX]; int fd; int send_ret; pid_t client_pid; @@ -298,10 +295,7 @@ int __connect_to_launchpad_hydra(int type, int id) _D("[hydra] enter, type: %d", type); - snprintf(path, sizeof(path), "%s/daemons/%d/%s%d-%d", - SOCKET_PATH, getuid(), HYDRA_LOADER_SOCKET_NAME, - type, id); - fd = __create_client_socket(path); + fd = __create_client_socket(type, id); if (fd < 0) return -1; |