From 5a7b90b5957049c6dd2b45e4504bbae72b642e5a Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Thu, 30 Mar 2017 22:00:57 +0300 Subject: zdtm/unix: add zero characters into a socket address An abstract name can contain zero characters. Signed-off-by: Andrei Vagin --- test/zdtm/static/sk-unix-unconn.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'test/zdtm/static/sk-unix-unconn.c') diff --git a/test/zdtm/static/sk-unix-unconn.c b/test/zdtm/static/sk-unix-unconn.c index 8e600130d..abf59e39b 100644 --- a/test/zdtm/static/sk-unix-unconn.c +++ b/test/zdtm/static/sk-unix-unconn.c @@ -12,7 +12,7 @@ const char *test_author = "Vagin Andrew "; int main(int argc, char ** argv) { int sk, skc; - int ret; + int ret, len; char path[PATH_MAX]; struct sockaddr_un addr; socklen_t addrlen; @@ -31,12 +31,13 @@ int main(int argc, char ** argv) return 1; } - snprintf(path, sizeof(path), "X/zdtm-%s-%d", argv[0], getpid()); + len = snprintf(path, sizeof(path), "X/zdtm-%s-%d/X", argv[0], getpid()); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, path, sizeof(addr.sun_path)); - addrlen = sizeof(addr.sun_family) + strlen(path); + addrlen = sizeof(addr.sun_family) + len; addr.sun_path[0] = 0; + addr.sun_path[len - 1] = 0; ret = bind(sk, (struct sockaddr *) &addr, addrlen); if (ret) { -- cgit v1.2.3