diff options
author | eadler <eadler@FreeBSD.org> | 2012-11-15 15:06:18 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2012-11-15 15:06:18 +0000 |
commit | 23382e4b5048f87af26f520f876e5b3dc250d875 (patch) | |
tree | d485d21c9220f733cdca72676222ee5dd366f7d8 | |
parent | 413379c5a87ac03f7f1da5ca0f2023b5d3c4e71c (diff) | |
download | FreeBSD-src-23382e4b5048f87af26f520f876e5b3dc250d875.zip FreeBSD-src-23382e4b5048f87af26f520f876e5b3dc250d875.tar.gz |
Avoid possible null deref if ypclnt_new returns null
PR: bin/172979
Submitted by: Erik Cederstrand <erik@cederstrand.dk>
Approved by: cperciva
MFC after: 3 days
-rw-r--r-- | usr.bin/chpass/chpass.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.bin/chpass/chpass.c b/usr.bin/chpass/chpass.c index 2504e68..9f9be53 100644 --- a/usr.bin/chpass/chpass.c +++ b/usr.bin/chpass/chpass.c @@ -241,8 +241,11 @@ main(int argc, char *argv[]) #ifdef YP case _PWF_NIS: ypclnt = ypclnt_new(yp_domain, "passwd.byname", yp_host); - if (ypclnt == NULL || - ypclnt_connect(ypclnt) == -1 || + if (ypclnt == NULL) { + warnx("ypclnt_new failed"); + exit(1); + } + if (ypclnt_connect(ypclnt) == -1 || ypclnt_passwd(ypclnt, pw, password) == -1) { warnx("%s", ypclnt->error); ypclnt_free(ypclnt); |