public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] isalpha.3: behavior is undefined if c is out-of-range
@ 2023-06-05 11:17 Yedidyah Bar David
  2023-06-05 11:33 ` Alejandro Colomar
  0 siblings, 1 reply; 12+ messages in thread
From: Yedidyah Bar David @ 2023-06-05 11:17 UTC (permalink / raw)
  To: Alejandro Colomar, linux-man

Clarify that the behavior of these functions is undefined if c is
neither in the unsigned char range nor EOF.

I copied the added text from toupper.3.

In practice, calling them on out-of-range values - tested with recent
glibc/gcc - is simply reading from random process memory - meaning, you
either get some garbage, if the memory was readable, or a segmentation
fault. See also:

https://stackoverflow.com/questions/65514890/glibcs-isalpha-function-and-the-en-us-utf-8-locale

Signed-off-by: Yedidyah Bar David <didi@redhat.com>
---
 man3/isalpha.3 | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/man3/isalpha.3 b/man3/isalpha.3
index 443c2aa09..8ad997c29 100644
--- a/man3/isalpha.3
+++ b/man3/isalpha.3
@@ -145,6 +145,15 @@ is the special locale object
 .BR duplocale (3))
 or is not a valid locale object handle.
 .PP
+If
+.I c
+is neither an
+.I "unsigned char"
+value nor
+.BR EOF ,
+the behavior of these functions
+is undefined.
+.PP
 The list below explains the operation of the functions without
 the "_l" suffix;
 the functions with the "_l" suffix differ only in using the locale object
--
2.31.1

Best regards,
--
Didi


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-07-08 18:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-05 11:17 [PATCH] isalpha.3: behavior is undefined if c is out-of-range Yedidyah Bar David
2023-06-05 11:33 ` Alejandro Colomar
2023-06-05 11:38   ` [PATCH v1b] isalpha.3: Move NOTES to CAVEATS, and clarify some Undefined Behavior Alejandro Colomar
2023-06-05 11:41     ` Sam James
2023-06-05 12:43     ` Yedidyah Bar David
2023-06-05 12:09   ` [PATCH v2alx] " Alejandro Colomar
2023-06-05 12:34   ` [PATCH] isalpha.3: behavior is undefined if c is out-of-range Yedidyah Bar David
2023-06-05 13:15     ` Alejandro Colomar
2023-06-05 13:17       ` Alejandro Colomar
2023-06-05 13:29       ` Yedidyah Bar David
2023-06-13 14:07         ` Yedidyah Bar David
2023-07-08 18:42           ` Alejandro Colomar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox