// Regression test for a crash in getpwnam_r and similar interceptors. // RUN: %clangxx -O0 -g %s -o %t && %run %t #include <assert.h> #include <errno.h> #include <pwd.h> #include <signal.h> #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { struct passwd pwd; struct passwd *pwdres; char buf[10000]; int res = getpwnam_r("no-such-user", &pwd, buf, sizeof(buf), &pwdres); assert(res == 0 || res == ENOENT); assert(pwdres == 0); return 0; }