mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
setrlimit/getrlimit: Use __nonnull to avoid null pointer
Add __nonnull((2)) to the setrlimit()/getrlimit() function declaration to avoid null pointer access. ----- v2 According to the suggestions of the Adhemerval Zanella and Zack Weinberg: use __nonnull() to check null pointers in the compilation phase. do not add pointer check code to setrlimit()/getrlimit(). The validity of the "resource" parameter is checked in the syscall. v1 https://public-inbox.org/libc-alpha/20201230114131.47589-1-nixiaoming@huawei.com/ ----- Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
committed by
Adhemerval Zanella
parent
7960c5eea9
commit
e604a5e4bb
@ -48,18 +48,19 @@ typedef int __priority_which_t;
|
||||
Returns 0 if successful, -1 if not (and sets errno). */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
extern int getrlimit (__rlimit_resource_t __resource,
|
||||
struct rlimit *__rlimits) __THROW;
|
||||
struct rlimit *__rlimits) __THROW __nonnull ((2));
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (getrlimit, (__rlimit_resource_t __resource,
|
||||
struct rlimit *__rlimits), getrlimit64);
|
||||
struct rlimit *__rlimits), getrlimit64)
|
||||
__nonnull ((2));
|
||||
# else
|
||||
# define getrlimit getrlimit64
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern int getrlimit64 (__rlimit_resource_t __resource,
|
||||
struct rlimit64 *__rlimits) __THROW;
|
||||
struct rlimit64 *__rlimits) __THROW __nonnull ((2));
|
||||
#endif
|
||||
|
||||
/* Set the soft and hard limits for RESOURCE to *RLIMITS.
|
||||
@ -67,19 +68,20 @@ extern int getrlimit64 (__rlimit_resource_t __resource,
|
||||
Return 0 if successful, -1 if not (and sets errno). */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
extern int setrlimit (__rlimit_resource_t __resource,
|
||||
const struct rlimit *__rlimits) __THROW;
|
||||
const struct rlimit *__rlimits) __THROW __nonnull ((2));
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource,
|
||||
const struct rlimit *__rlimits),
|
||||
setrlimit64);
|
||||
setrlimit64) __nonnull ((2));
|
||||
# else
|
||||
# define setrlimit setrlimit64
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern int setrlimit64 (__rlimit_resource_t __resource,
|
||||
const struct rlimit64 *__rlimits) __THROW;
|
||||
const struct rlimit64 *__rlimits) __THROW
|
||||
__nonnull ((2));
|
||||
#endif
|
||||
|
||||
/* Return resource usage information on process indicated by WHO
|
||||
|
Reference in New Issue
Block a user