Browse Source

jtag/drivers/remote_bitbang: use sizeof to determine maximum unix socket path length

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>
tags/v0.8.0-rc2
Paul Fertser 8 years ago
parent
commit
3a590658e9
1 changed files with 2 additions and 6 deletions
  1. +2
    -6
      src/jtag/drivers/remote_bitbang.c

+ 2
- 6
src/jtag/drivers/remote_bitbang.c View File

@@ -29,10 +29,6 @@
#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));


Loading…
Cancel
Save