From 49e889cb2d2a244805306dfd23155d88ad9012c6 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Thu, 29 Jan 2015 19:59:47 +0900 Subject: [PATCH] sensord: fix the bug about terminating null byte when using strncpy when termination was forced, the index was wrong. Change-Id: I7966527a5bece6bb4a09ceec63d4eec3f751b13b Signed-off-by: Kibak Yoon --- src/shared/csocket.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/shared/csocket.cpp b/src/shared/csocket.cpp index e862b63..96ff1d5 100755 --- a/src/shared/csocket.cpp +++ b/src/shared/csocket.cpp @@ -103,9 +103,9 @@ bool csocket::bind (const char *sock_path) } m_addr.sun_family = AF_UNIX; - int path_size = strlen(sock_path); - strncpy(m_addr.sun_path, sock_path, path_size); - m_addr.sun_path[path_size - 1] = '\0'; + + strncpy(m_addr.sun_path, sock_path, sizeof(m_addr.sun_path)); + m_addr.sun_path[sizeof(m_addr.sun_path)-1] = '\0'; length = strlen(m_addr.sun_path) + sizeof(m_addr.sun_family); @@ -303,9 +303,9 @@ bool csocket::connect(const char *sock_path) set_blocking_mode(false); m_addr.sun_family = AF_UNIX; - int path_size = strlen(sock_path); - strncpy(m_addr.sun_path, sock_path, path_size); - m_addr.sun_path[path_size - 1] = '\0'; + + strncpy(m_addr.sun_path, sock_path, sizeof(m_addr.sun_path)); + m_addr.sun_path[sizeof(m_addr.sun_path)-1] = '\0'; addr_len = strlen(m_addr.sun_path) + sizeof(m_addr.sun_family); -- 2.7.4