mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00: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:
parent
7960c5eea9
commit
e604a5e4bb
@ -126,13 +126,13 @@ libc_hidden_proto (__getrlimit64);
|
||||
|
||||
/* Now define the internal interfaces. */
|
||||
extern int __getrlimit (enum __rlimit_resource __resource,
|
||||
struct rlimit *__rlimits);
|
||||
struct rlimit *__rlimits) __nonnull ((2));
|
||||
libc_hidden_proto (__getrlimit)
|
||||
extern int __getrusage (enum __rusage_who __who, struct rusage *__usage)
|
||||
attribute_hidden;
|
||||
|
||||
extern int __setrlimit (enum __rlimit_resource __resource,
|
||||
const struct rlimit *__rlimits);
|
||||
const struct rlimit *__rlimits) __nonnull ((2));
|
||||
libc_hidden_proto (__setrlimit);
|
||||
|
||||
#if __TIMESIZE == 64
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user