1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 12:41:29 +00:00

Properly return negative on error from vsnprintf

Our implementation of vsnprintf for systems where it is missing did not
correctly return a negative value on error, instead returning the size
passed in. We got this code from tcpdump/libpcap, and it was wrong
there, too, though their latest master branch has removed it in favor of
requiring a C99 compiler (C99 guarantees vsnprintf).

This should remove a LGTM code analysis finding (See #1834) of
cpp/constant-comparison in Ncat because we were checking for a negative
return from Snprintf, which would never occur.
This commit is contained in:
dmiller
2019-12-29 05:53:27 +00:00
parent 736cefcdb6
commit 3c7f2de01b

View File

@@ -639,7 +639,7 @@ vsnprintf (char *str, size_t sz, const char *format, va_list args)
ret = xyzprintf (&state, format, args); ret = xyzprintf (&state, format, args);
*state.s = '\0'; *state.s = '\0';
if (ret) if (ret)
return sz; return -1;
else else
return state.s - state.str; return state.s - state.str;
} }