tst-fmon/tst-numeric: switch malloc to static stack space [BZ #19671]

Message ID 1461359558-26367-1-git-send-email-vapier@gentoo.org
State Committed
Delegated to: Mike Frysinger
Headers

Commit Message

Mike Frysinger April 22, 2016, 9:12 p.m. UTC
  The current test code doesn't check the return value of malloc.
This should rarely (if ever) cause a problem, but rather than add
some return value checks, just statically allocate the buffer on
the stack.  This will never fail (or if it does, we've got much
bigger problems that don't matter to the test).

Checked that the tests still pass on x86_64-linux-gnu.
---
 localedata/tst-fmon.c    | 2 +-
 localedata/tst-numeric.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Florian Weimer April 23, 2016, 12:23 p.m. UTC | #1
* Mike Frysinger:

> The current test code doesn't check the return value of malloc.
> This should rarely (if ever) cause a problem, but rather than add
> some return value checks, just statically allocate the buffer on
> the stack.  This will never fail (or if it does, we've got much
> bigger problems that don't matter to the test).

This needs a ChangeLog entry.

> -  char *s = malloc (201);
> +  char s[201];

Please use a enum constant of 200, and also pass it to strfmon.
K think the current 200/201 choice is technically incorrect
(the maximum includes the terminating null byte).
  

Patch

diff --git a/localedata/tst-fmon.c b/localedata/tst-fmon.c
index 995cf90..1359775 100644
--- a/localedata/tst-fmon.c
+++ b/localedata/tst-fmon.c
@@ -40,7 +40,7 @@ 
 int
 main (int argc, char *argv[])
 {
-  char *s = malloc (201);
+  char s[201];
 
   if (setlocale (LC_MONETARY, argv[1]) == NULL)
     {
diff --git a/localedata/tst-numeric.c b/localedata/tst-numeric.c
index 46a6b48..ac06965 100644
--- a/localedata/tst-numeric.c
+++ b/localedata/tst-numeric.c
@@ -41,7 +41,7 @@ 
 int
 main (int argc, char *argv[])
 {
-  char *s = malloc (201);
+  char s[201];
   double val;
 
   /* Make sure to read the value before setting of the locale, as