about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-04-22 17:11:09 -0400
committerMike Frysinger <vapier@gentoo.org>2016-04-23 16:14:01 -0400
commitb2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6 (patch)
treec521f1356dd7d9f6577749d1e8c8492cfbbec068
parent4964bb4591b16b485eac3c5ecc8a383b528ea1a6 (diff)
downloadglibc-b2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6.tar.gz
glibc-b2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6.tar.xz
glibc-b2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6.zip
tst-fmon/tst-numeric: switch malloc to static stack space [BZ #19671]
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).
-rw-r--r--localedata/ChangeLog7
-rw-r--r--localedata/tst-fmon.c4
-rw-r--r--localedata/tst-numeric.c4
3 files changed, 11 insertions, 4 deletions
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 13d1e4709c..9815a9e81e 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,5 +1,12 @@
 2016-04-23  Mike Frysinger  <vapier@gentoo.org>
 
+	[BZ #19671]
+	* tst-fmon.c (main): Change s from malloc to s[200].  Change 2nd
+	arg to strfmon from 200 to sizeof (s).
+	* tst-numeric.c (main): Likewise.
+
+2016-04-23  Mike Frysinger  <vapier@gentoo.org>
+
 	* tst-langinfo.sh: Update YESEXPR & NOEXPR baselines to match
 	current locales.
 
diff --git a/localedata/tst-fmon.c b/localedata/tst-fmon.c
index 995cf9056c..62cd7dbfd5 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[200];
 
   if (setlocale (LC_MONETARY, argv[1]) == NULL)
     {
@@ -48,7 +48,7 @@ main (int argc, char *argv[])
       exit (EXIT_SETLOCALE);
     }
 
-  if (strfmon (s, 200, argv[2], (double) atof (argv[3])) == -1)
+  if (strfmon (s, sizeof (s), argv[2], (double) atof (argv[3])) == -1)
     {
       perror ("strfmon");
       exit (EXIT_STRFMON);
diff --git a/localedata/tst-numeric.c b/localedata/tst-numeric.c
index 46a6b48150..64abb0a968 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[200];
   double val;
 
   /* Make sure to read the value before setting of the locale, as
@@ -54,7 +54,7 @@ main (int argc, char *argv[])
       exit (EXIT_SETLOCALE);
     }
 
-  if (snprintf (s, 200, argv[2], val) == -1)
+  if (snprintf (s, sizeof (s), argv[2], val) == -1)
     {
       perror ("snprintf");
       exit (EXIT_SNPRINTF);