aboutsummaryrefslogtreecommitdiff
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.zip
glibc-b2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6.tar.gz
glibc-b2cae5d3f5f58e26fe3ceb9c9c2a4018e25785e6.tar.bz2
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 13d1e47..9815a9e 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 995cf90..62cd7db 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 46a6b48..64abb0a 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);