This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-548-g0a47d03
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Jun 2017 21:10:28 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.25-548-g0a47d03
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 0a47d031e44f15236bcef8aeba80e737bd013c6f (commit)
from 4dd8e7c0ce5ecc7f65e33e60ad2f717b31de32ec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0a47d031e44f15236bcef8aeba80e737bd013c6f
commit 0a47d031e44f15236bcef8aeba80e737bd013c6f
Author: Florian Weimer <fweimer@redhat.com>
Date: Wed Jun 21 22:59:19 2017 +0200
_nl_load_domain: Use calloc instead of alloca
diff --git a/ChangeLog b/ChangeLog
index 4a41300..46a70ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-21 Florian Weimer <fweimer@redhat.com>
+
+ * intl/loadmsgcat.c: Remove alloca support.
+ (_nl_load_domain): Use calloc instead of alloca.
+
2017-04-21 Florian Weimer <fweimer@redhat.com>
* malloc/Makefile (tests-internal): Add tst-alloc_buffer.
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index 4dd75de..c2ff64e 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -32,29 +32,6 @@
#include <sys/types.h>
#include <sys/stat.h>
-#ifdef __GNUC__
-# undef alloca
-# define alloca __builtin_alloca
-# define HAVE_ALLOCA 1
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if defined HAVE_ALLOCA_H || defined _LIBC
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
#include <stdlib.h>
#include <string.h>
@@ -476,15 +453,6 @@ char *alloca ();
# define munmap(addr, len) __munmap (addr, len)
#endif
-/* For those losing systems which don't have `alloca' we have to add
- some additional code emulating it. */
-#ifdef HAVE_ALLOCA
-# define freea(p) /* nothing */
-#else
-# define alloca(n) malloc (n)
-# define freea(p) free (p)
-#endif
-
/* For systems that distinguish between text and binary I/O.
O_BINARY is usually declared in <fcntl.h>. */
#if !defined O_BINARY && defined _O_BINARY
@@ -982,9 +950,10 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
sysdep_segments = (const struct sysdep_segment *)
((char *) data
+ W (domain->must_swap, data->sysdep_segments_offset));
- sysdep_segment_values =
- (const char **)
- alloca (n_sysdep_segments * sizeof (const char *));
+ sysdep_segment_values = calloc
+ (n_sysdep_segments, sizeof (const char *));
+ if (sysdep_segment_values == NULL)
+ goto invalid;
for (i = 0; i < n_sysdep_segments; i++)
{
const char *name =
@@ -995,7 +964,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
if (!(namelen > 0 && name[namelen - 1] == '\0'))
{
- freea (sysdep_segment_values);
+ free (sysdep_segment_values);
goto invalid;
}
@@ -1046,7 +1015,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
if (sysdepref >= n_sysdep_segments)
{
/* Invalid. */
- freea (sysdep_segment_values);
+ free (sysdep_segment_values);
goto invalid;
}
@@ -1250,7 +1219,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
domain->trans_sysdep_tab = NULL;
}
- freea (sysdep_segment_values);
+ free (sysdep_segment_values);
}
else
{
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
intl/loadmsgcat.c | 45 +++++++--------------------------------------
2 files changed, 12 insertions(+), 38 deletions(-)
hooks/post-receive
--
GNU C Library master sources