Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 10 Feb 2002 23:36:05 +0000 (23:36 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 10 Feb 2002 23:36:05 +0000 (23:36 +0000)
* sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
after globfree() calls.

ChangeLog
sysdeps/generic/glob.c

index 137f99a..9d54fb4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2002-02-10  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
+       after globfree() calls.
+
        * elf/dl-deps.c (struct openaux_args): Add open_mode element.
        (openaux): Pass open_mode as new last argument to _dl_map_object.
        (_dl_map_object_deps): Add new argument open_mode.  Initialize
index 20cf0a2..af409c5 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -419,7 +419,10 @@ glob (pattern, flags, errfunc, pglob)
          if (onealt == NULL)
            {
              if (!(flags & GLOB_APPEND))
-               globfree (pglob);
+               {
+                 globfree (pglob);
+                 pglob->gl_pathc = 0;
+               }
              return GLOB_NOSPACE;
            }
 #endif
@@ -501,7 +504,10 @@ glob (pattern, flags, errfunc, pglob)
                  free (onealt);
 #endif
                  if (!(flags & GLOB_APPEND))
-                   globfree (pglob);
+                   {
+                     globfree (pglob);
+                     pglob->gl_pathc = 0;
+                   }
                  return result;
                }
 
@@ -933,6 +939,7 @@ glob (pattern, flags, errfunc, pglob)
            {
              globfree (&dirs);
              globfree (pglob);
+             pglob->gl_pathc = 0;
              return status;
            }
 
@@ -943,6 +950,7 @@ glob (pattern, flags, errfunc, pglob)
            {
              globfree (&dirs);
              globfree (pglob);
+             pglob->gl_pathc = 0;
              return GLOB_NOSPACE;
            }
        }
@@ -975,6 +983,7 @@ glob (pattern, flags, errfunc, pglob)
                {
                  globfree (&dirs);
                  globfree (pglob);
+                 pglob->gl_pathc = 0;
                  return GLOB_NOSPACE;
                }
 
@@ -1009,6 +1018,7 @@ glob (pattern, flags, errfunc, pglob)
                            pglob->gl_pathc - old_pathc))
            {
              globfree (pglob);
+             pglob->gl_pathc = 0;
              return GLOB_NOSPACE;
            }
        }
@@ -1035,6 +1045,7 @@ glob (pattern, flags, errfunc, pglob)
            if (new == NULL)
              {
                globfree (pglob);
+               pglob->gl_pathc = 0;
                return GLOB_NOSPACE;
              }
            strcpy (&new[len - 2], "/");