diff options
author | Yunshu Ouyang <61579667+yooyoo9@users.noreply.github.com> | 2020-09-07 10:30:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-07 01:30:09 -0700 |
commit | 1b7b334da7823ace48e46020c6c2b814ea6a8bd8 (patch) | |
tree | 05d4769082991869bad9597e767c73a3f14c7bf8 /projects/nginx | |
parent | e036c4fa321ff32f0883636c63646bc760a8cd84 (diff) | |
download | oss-fuzz-1b7b334da7823ace48e46020c6c2b814ea6a8bd8.tar.gz |
Add wrappers for getpwnam and getgrnam (#4419)
Diffstat (limited to 'projects/nginx')
-rw-r--r-- | projects/nginx/build.sh | 2 | ||||
-rw-r--r-- | projects/nginx/fuzz/wrappers.c | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/projects/nginx/build.sh b/projects/nginx/build.sh index 064a91739..341b0e5ac 100644 --- a/projects/nginx/build.sh +++ b/projects/nginx/build.sh @@ -24,7 +24,7 @@ rm -rf genfiles && mkdir genfiles && $SRC/LPM/external.protobuf/bin/protoc http_ cd ../.. auto/configure \ - --with-ld-opt="-Wl,--wrap=listen -Wl,--wrap=setsockopt -Wl,--wrap=bind -Wl,--wrap=shutdown -Wl,--wrap=connect" \ + --with-ld-opt="-Wl,--wrap=listen -Wl,--wrap=setsockopt -Wl,--wrap=bind -Wl,--wrap=shutdown -Wl,--wrap=connect -Wl,--wrap=getpwnam -Wl,--wrap=getgrnam" \ --with-http_v2_module make -f objs/Makefile fuzzers diff --git a/projects/nginx/fuzz/wrappers.c b/projects/nginx/fuzz/wrappers.c index ec8e3b7db..a351c37a3 100644 --- a/projects/nginx/fuzz/wrappers.c +++ b/projects/nginx/fuzz/wrappers.c @@ -15,6 +15,8 @@ //////////////////////////////////////////////////////////////////////////////// #include <sys/socket.h> #include <sys/types.h> +#include <grp.h> +#include <pwd.h> int __wrap_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) { return 0; @@ -32,3 +34,15 @@ int __wrap_setsockopt(int fd, int level, int optname, const void *optval, socklen_t optlen) { return 0; } + +struct passwd *__wrap_getpwnam(const char *name){ + struct passwd *pwd = (struct passwd *) calloc(1, sizeof(struct passwd)); + pwd->pw_uid = 1; + return pwd; +} + +struct group *__wrap_getgrnam(const char *name){ + struct group *grp = (struct group *) calloc(1, sizeof(struct group)); + grp->gr_gid = 1; + return grp; +} |