diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2024-06-27 22:16:45 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-07-02 21:34:06 +0200 |
commit | b625ed5feebaac457311fe5299c3ee99dab5503a (patch) | |
tree | a0c85bdf3dacc5115f0e8c894d443ece2ec88e89 | |
parent | 403a7c14a000a239b758c6495dd053377f751be7 (diff) | |
download | passt-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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); |