This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]