aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-03-05 12:02:20 +0100
committerFlorian Weimer <fweimer@redhat.com>2021-03-05 14:07:26 +0100
commit3c667926673bac6017bf78569f582f6baee9948f (patch)
treee9d0fffc0ff3d68932127dda8efd6aec655c65ed
parent6bb0d2fe0a15ae69f0c351bd2b83a737b8da771f (diff)
downloadglibc-3c667926673bac6017bf78569f582f6baee9948f.zip
glibc-3c667926673bac6017bf78569f582f6baee9948f.tar.gz
glibc-3c667926673bac6017bf78569f582f6baee9948f.tar.bz2
posix: glob, glob64 should not be declared __THROW [BZ #27522]
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>
-rw-r--r--posix/glob.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/posix/glob.h b/posix/glob.h
index 71c6b84..b568660 100644
--- a/posix/glob.h
+++ b/posix/glob.h
@@ -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