jtag/drivers/remote_bitbang: use sizeof to determine maximum unix socket path length95/2095/3
authorPaul Fertser <fercerpav@gmail.com>
Sun, 6 Apr 2014 04:36:37 +0000 (6 08:36 +0400)
committerPaul Fertser <fercerpav@gmail.com>
Mon, 14 Apr 2014 18:16:52 +0000 (14 18:16 +0000)
Different *nix systems use different constants, so sizeof should be
used instead. This fixes the build on OS X (as sun_path length is
hardcoded to 104 on Darwin).

Change-Id: I1df611383dedcfc6d153ec59b453a895c7d84e94
Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2095
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
src/jtag/drivers/remote_bitbang.c

index fc7ef6b..a1c11b2 100644 (file)
 #include <jtag/interface.h>
 #include "bitbang.h"
 
-#ifndef UNIX_PATH_LEN
-#define UNIX_PATH_LEN 108
-#endif
-
 /* arbitrary limit on host name length: */
 #define REMOTE_BITBANG_HOST_MAX 255
 
@@ -192,8 +188,8 @@ static int remote_bitbang_init_unix(void)
 
        struct sockaddr_un addr;
        addr.sun_family = AF_UNIX;
-       strncpy(addr.sun_path, remote_bitbang_host, UNIX_PATH_LEN);
-       addr.sun_path[UNIX_PATH_LEN-1] = '\0';
+       strncpy(addr.sun_path, remote_bitbang_host, sizeof(addr.sun_path));
+       addr.sun_path[sizeof(addr.sun_path)-1] = '\0';
 
        if (connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0) {
                LOG_ERROR("connect: %s", strerror(errno));