From: SeokHoon Lee Date: Thu, 20 Jul 2017 07:36:47 +0000 (+0900) Subject: Fix framework weekness issue X-Git-Tag: submit/tizen/20170728.055312~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=653dffad5424696f44e17476b9e9f797e63a3191;p=platform%2Fcore%2Fapi%2Fscreen-mirroring.git Fix framework weekness issue - delete unnecessary null termination because g_strdup do. Signed-off-by: SeokHoon Lee Change-Id: I042820bec1d6b0842b4cdf4566c1ae91b7b2d2c8 --- diff --git a/miracast_server/miracast_server_impl.c b/miracast_server/miracast_server_impl.c index 91400f9..797496c 100644 --- a/miracast_server/miracast_server_impl.c +++ b/miracast_server/miracast_server_impl.c @@ -166,10 +166,11 @@ int __miracast_server_send_resp(MiracastServer *server, const gchar *cmd) { int ret = SCMIRRORING_ERROR_NONE; char *_cmd = NULL; + int _cmdLen = 0; int client_sock = -1; - if (server == NULL) { - scmirroring_error("OUT_OF_MEMORY"); + if (server == NULL || cmd == NULL) { + scmirroring_error("Invaild server or cmd!"); return SCMIRRORING_ERROR_INVALID_OPERATION; } @@ -180,9 +181,13 @@ int __miracast_server_send_resp(MiracastServer *server, const gchar *cmd) } _cmd = g_strdup(cmd); - _cmd[strlen(_cmd)] = '\0'; + if (_cmd == NULL) { + scmirroring_error("Faild in g_strdup for cmd!"); + return SCMIRRORING_ERROR_OUT_OF_MEMORY; + } - if (write(client_sock, _cmd, strlen(_cmd) + 1) != ((int)(strlen(_cmd) + 1))) { + _cmdLen = strlen(_cmd) + 1; + if (write(client_sock, _cmd, _cmdLen) != _cmdLen) { char buf[255] = {0, }; strerror_r(errno, buf, sizeof(buf)); scmirroring_error("sendto failed [%s]", buf); diff --git a/packaging/capi-media-screen-mirroring.spec b/packaging/capi-media-screen-mirroring.spec index 1f5f371..beffe65 100644 --- a/packaging/capi-media-screen-mirroring.spec +++ b/packaging/capi-media-screen-mirroring.spec @@ -1,6 +1,6 @@ Name: capi-media-screen-mirroring Summary: A screen mirroring library in Tizen C API -Version: 0.1.83 +Version: 0.1.84 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/scmirroring_src.c b/src/scmirroring_src.c index b771e0c..6d97bff 100644 --- a/src/scmirroring_src.c +++ b/src/scmirroring_src.c @@ -64,6 +64,7 @@ static int __scmirroring_src_send_cmd_to_server(scmirroring_src_s *scmirroring, { int ret = SCMIRRORING_ERROR_NONE; char *_cmd = NULL; + int _cmdLen = 0; scmirroring_retvm_if(scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is NULL"); scmirroring_retvm_if(cmd == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "cmd is NULL"); @@ -74,9 +75,8 @@ static int __scmirroring_src_send_cmd_to_server(scmirroring_src_s *scmirroring, return SCMIRRORING_ERROR_OUT_OF_MEMORY; } - _cmd[strlen(_cmd)] = '\0'; - - if (write(scmirroring->sock, _cmd, strlen(_cmd) + 1) != (signed int) strlen(_cmd) + 1) { + _cmdLen = strlen(_cmd) + 1; + if (write(scmirroring->sock, _cmd, _cmdLen) != _cmdLen) { char buf[255] = {0, }; strerror_r(errno, buf, sizeof(buf)); scmirroring_error("sendto failed [%s]", buf);