Fix defect detected by static analyzer 86/153086/1 accepted/tizen/unified/20170929.081853 submit/tizen/20170928.232941
authorJiung <jiung.yu@samsung.com>
Thu, 28 Sep 2017 02:34:53 +0000 (11:34 +0900)
committerJiung <jiung.yu@samsung.com>
Thu, 28 Sep 2017 02:35:00 +0000 (11:35 +0900)
Change-Id: Ida9d618ce50bed3500414cd3752d7999c338468c
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
toys/samsung/nslookup.c

index b83ff97..bab44b9 100644 (file)
@@ -100,10 +100,11 @@ static void resolve_addr(char *host, void *addr, char* port)
 
   if(ret <0 || ret > 65535 ) error_exit("bad port:  %s", port);
   if (strncmp(host, "local:", 6) == 0) {
-    struct sockaddr *sockun = (struct sockaddr *)addr;
-    sockun->sa_family = AF_UNIX;
-    strncpy(((struct sockaddr_un *)sockun)->sun_path, host + 6,
-            sizeof(((struct sockaddr_un *)sockun)->sun_path));
+    struct sockaddr_un *sockun = (struct sockaddr_un *)addr;
+    struct sockaddr *sock = (struct sockaddr *)addr;
+    sock->sa_family = AF_UNIX;
+    strncpy(sockun->sun_path, host + 6, sizeof(sockun->sun_path));
+    sockun->sun_path[sizeof(sockun->sun_path) - 1] = '\0';
     return ;
   }
   memset(&hint, 0, sizeof(hint));