]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
posix: glob, glob64 should not be declared __THROW [BZ #27522]
authorFlorian Weimer <fweimer@redhat.com>
Fri, 5 Mar 2021 11:02:20 +0000 (12:02 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Fri, 5 Mar 2021 13:07:26 +0000 (14:07 +0100)
These functions invoke callbacks with GLOB_ALTDIRFUNC, so they
are not leaf functions (as implied by _THROW).  Use __THROWNL
and __REDIRECT_NTHNL to express this.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
posix/glob.h

index 71c6b84a8a51aad0c301746bbaf607fd4c6d9e2c..b5686600c7d247f23b8ce56b37692f464432f17a 100644 (file)
@@ -145,15 +145,15 @@ typedef struct
 #if !defined __USE_FILE_OFFSET64
 extern int glob (const char *__restrict __pattern, int __flags,
                 int (*__errfunc) (const char *, int),
-                glob_t *__restrict __pglob) __THROW;
+                glob_t *__restrict __pglob) __THROWNL;
 
 /* Free storage allocated in PGLOB by a previous `glob' call.  */
 extern void globfree (glob_t *__pglob) __THROW;
 #else
-extern int __REDIRECT_NTH (glob, (const char *__restrict __pattern,
-                                 int __flags,
-                                 int (*__errfunc) (const char *, int),
-                                 glob_t *__restrict __pglob), glob64);
+extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern,
+                                   int __flags,
+                                   int (*__errfunc) (const char *, int),
+                                   glob_t *__restrict __pglob), glob64);
 
 extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
 #endif
@@ -161,7 +161,7 @@ extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
 #ifdef __USE_LARGEFILE64
 extern int glob64 (const char *__restrict __pattern, int __flags,
                   int (*__errfunc) (const char *, int),
-                  glob64_t *__restrict __pglob) __THROW;
+                  glob64_t *__restrict __pglob) __THROWNL;
 
 extern void globfree64 (glob64_t *__pglob) __THROW;
 #endif