aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2024-06-27 22:16:45 +0200
committerStefano Brivio <sbrivio@redhat.com>2024-07-02 21:34:06 +0200
commitb625ed5feebaac457311fe5299c3ee99dab5503a (patch)
treea0c85bdf3dacc5115f0e8c894d443ece2ec88e89
parent403a7c14a000a239b758c6495dd053377f751be7 (diff)
downloadpasst-b625ed5feebaac457311fe5299c3ee99dab5503a.tar
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.tar.gz
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.tar.bz2
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.tar.lz
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.tar.xz
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.tar.zst
passt-b625ed5feebaac457311fe5299c3ee99dab5503a.zip
conf: Use the right maximum buffer size for c->sock_path
UNIX_SOCK_MAX is the maximum number we'll append to the socket path if we generate it automatically. If it's given on the command line, it can be up to UNIX_PATH_MAX (including the terminating character) long. UNIX_SOCK_MAX happened to kind of fit because it's 100 (instead of 108). Commit ceddcac74a6e ("conf, tap: False "Buffer not null terminated" positives, CWE-170") fixed the wrong problem: the right fix for the problem at hand was actually commit cc287af173ca ("conf: Fix incorrect bounds checking for sock_path parameter"). Fixes: ceddcac74a6e ("conf, tap: False "Buffer not null terminated" positives, CWE-170") Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--conf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/conf.c b/conf.c
index 9e47e9a..3c38ceb 100644
--- a/conf.c
+++ b/conf.c
@@ -1398,7 +1398,7 @@ void conf(struct ctx *c, int argc, char **argv)
c->foreground = 1;
break;
case 's':
- ret = snprintf(c->sock_path, UNIX_SOCK_MAX - 1, "%s",
+ ret = snprintf(c->sock_path, sizeof(c->sock_path), "%s",
optarg);
if (ret <= 0 || ret >= (int)sizeof(c->sock_path))
die("Invalid socket path: %s", optarg);