From cbcf76d19f864da8c54e41b600ff5661b195b58e Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Fri, 21 Mar 2025 21:35:52 +0100 Subject: [PATCH] man/man3/strto[u]l.3: BUGS: Signed numbers and white space are not rejected Link: Reported-by: Bruno Haible Co-authored-by: Bruno Haible Signed-off-by: Bruno Haible Signed-off-by: Alejandro Colomar --- man/man3/strtol.3 | 7 +++++++ man/man3/strtoul.3 | 18 +++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/man/man3/strtol.3 b/man/man3/strtol.3 index 9323873a9..f9c9af4bc 100644 --- a/man/man3/strtol.3 +++ b/man/man3/strtol.3 @@ -224,6 +224,13 @@ if (errno == EINVAL) goto unsupported_base; .EE .in +.SH BUGS +.SS White space +These functions silently accept leading white space. +To reject white space, call +.BR isspace (3) +before +.BR strtol (). .SH EXAMPLES The program shown below demonstrates the use of .BR strtol (). diff --git a/man/man3/strtoul.3 b/man/man3/strtoul.3 index 9eb260dae..c4f8961a4 100644 --- a/man/man3/strtoul.3 +++ b/man/man3/strtoul.3 @@ -204,11 +204,19 @@ to 0 before the call, and then determine if an error occurred by checking whether .I errno has a nonzero value after the call. -.P -Negative values are considered valid input and are -silently converted to the equivalent -.I "unsigned long" -value. +.SH BUGS +.SS Signed numbers +Some negative values +are considered valid input and +are silently converted to +.IR "\%unsigned\ long" . +.SS White space +These functions silently accept leading whitespace. +.SS isalnum(3) +To reject white space and/or a sign, call +.BR isalnum (3) +before +.BR strtoul (). .SH EXAMPLES See the example on the .BR strtol (3) -- 2.47.2