about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-09-25 19:38:15 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-09-25 19:38:15 +0000
commitb87c4b24d97321ef2f2da357f8fcf11f1f61e3dc (patch)
tree41e913df2f27d0d0051cdceedbb06357d670ec41
parent22bf5c179315edd33b8399102ea3cfbf92b4807f (diff)
downloadglibc-b87c4b24d97321ef2f2da357f8fcf11f1f61e3dc.tar.gz
glibc-b87c4b24d97321ef2f2da357f8fcf11f1f61e3dc.tar.xz
glibc-b87c4b24d97321ef2f2da357f8fcf11f1f61e3dc.zip
Use size_t instead of int for internal variables in glob (bug 14621).
-rw-r--r--ChangeLog8
-rw-r--r--posix/glob.c10
2 files changed, 13 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 9a5ee9ddd7..5946e43c64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-09-25  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #14621]
+	* posix/glob.c (next_brace_sub): Use size_t instead of unsigned
+	int as type of variable DEPTH.
+	(glob): Use size_t instead of int as type of variables NEWCOUNT
+	and OLD_PATHC.
+
 2012-09-25  Liubov Dmitrieva  <liubov.dmitrieva@gmail.com>
 
 	* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
diff --git a/posix/glob.c b/posix/glob.c
index 68ea2055da..87d4f1bd2a 100644
--- a/posix/glob.c
+++ b/posix/glob.c
@@ -217,7 +217,7 @@ static int collated_compare (const void *, const void *) __THROW;
 static const char *
 next_brace_sub (const char *cp, int flags)
 {
-  unsigned int depth = 0;
+  size_t depth = 0;
   while (*cp != '\0')
     if ((flags & GLOB_NOESCAPE) == 0 && *cp == '\\')
       {
@@ -960,7 +960,7 @@ glob (pattern, flags, errfunc, pglob)
 		  && S_ISDIR (st.st_mode))
 	       : (__stat64 (dirname, &st64) == 0 && S_ISDIR (st64.st_mode)))))
 	{
-	  int newcount = pglob->gl_pathc + pglob->gl_offs;
+	  size_t newcount = pglob->gl_pathc + pglob->gl_offs;
 	  char **new_gl_pathv;
 
 	  if (newcount > UINTPTR_MAX - (1 + 1)
@@ -1059,7 +1059,7 @@ glob (pattern, flags, errfunc, pglob)
 	 appending the results to PGLOB.  */
       for (i = 0; i < dirs.gl_pathc; ++i)
 	{
-	  int old_pathc;
+	  size_t old_pathc;
 
 #ifdef	SHELL
 	  {
@@ -1114,7 +1114,7 @@ glob (pattern, flags, errfunc, pglob)
 	  /* No matches.  */
 	  if (flags & GLOB_NOCHECK)
 	    {
-	      int newcount = pglob->gl_pathc + pglob->gl_offs;
+	      size_t newcount = pglob->gl_pathc + pglob->gl_offs;
 	      char **new_gl_pathv;
 
 	      if (newcount > UINTPTR_MAX - 2
@@ -1158,7 +1158,7 @@ glob (pattern, flags, errfunc, pglob)
     }
   else
     {
-      int old_pathc = pglob->gl_pathc;
+      size_t old_pathc = pglob->gl_pathc;
       int orig_flags = flags;
 
       if (meta & 2)