diff options
author | eadler <eadler@FreeBSD.org> | 2011-12-21 20:27:41 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2011-12-21 20:27:41 +0000 |
commit | 3c01e31040c2984c114ac9977789b76185e726e6 (patch) | |
tree | 7c566920fb5ced92e004cf337adc73daa4f7fdb7 /usr.sbin | |
parent | d24fa001e9004ec4a6f53ac209eeb53f2b6cc1ab (diff) | |
download | FreeBSD-src-3c01e31040c2984c114ac9977789b76185e726e6.zip FreeBSD-src-3c01e31040c2984c114ac9977789b76185e726e6.tar.gz |
- Remove extraneous null ptr deref checks
- Fix memory leak
Submitted by: Slono Slono <slonoman2011@yandex.ru>
Approved by: jhb
MFC after: 1 week
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/fwcontrol/fwcontrol.c | 3 | ||||
-rw-r--r-- | usr.sbin/newsyslog/newsyslog.c | 3 | ||||
-rw-r--r-- | usr.sbin/ypserv/yp_main.c | 7 |
3 files changed, 8 insertions, 5 deletions
diff --git a/usr.sbin/fwcontrol/fwcontrol.c b/usr.sbin/fwcontrol/fwcontrol.c index 6aa365a..b8aeb5b 100644 --- a/usr.sbin/fwcontrol/fwcontrol.c +++ b/usr.sbin/fwcontrol/fwcontrol.c @@ -152,8 +152,7 @@ str2node(int fd, const char *nodestr) fweui2eui64(&data->dev[i].eui, &tmpeui); if (memcmp(&eui, &tmpeui, sizeof(struct eui64)) == 0) { node = data->dev[i].dst; - if (data != NULL) - free(data); + free(data); goto gotnode; } } diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index 191f077..0a0212e 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -1946,9 +1946,10 @@ do_zipwork(struct zipwork_entry *zwork) char zresult[MAXPATHLEN]; int c; + assert(zwork != NULL); pgm_path = NULL; strlcpy(zresult, zwork->zw_fname, sizeof(zresult)); - if (zwork != NULL && zwork->zw_conf != NULL && + if (zwork->zw_conf != NULL && zwork->zw_conf->compress > COMPRESS_NONE) for (c = 1; c < COMPRESS_TYPES; c++) { if (zwork->zw_conf->compress == c) { diff --git a/usr.sbin/ypserv/yp_main.c b/usr.sbin/ypserv/yp_main.c index 7473e6f..6da1ea5 100644 --- a/usr.sbin/ypserv/yp_main.c +++ b/usr.sbin/ypserv/yp_main.c @@ -256,6 +256,7 @@ create_service(const int sock, const struct netconfig *nconf, const struct __rpc_sockinfo *si) { int error; + char *sname; SVCXPRT *transp; struct addrinfo hints, *res, *res0; @@ -263,6 +264,7 @@ create_service(const int sock, const struct netconfig *nconf, struct bindaddrlistent *blep; struct netbuf svcaddr; + sname = NULL; SLIST_INIT(&sle_head); memset(&hints, 0, sizeof(hints)); memset(&svcaddr, 0, sizeof(svcaddr)); @@ -342,7 +344,6 @@ create_service(const int sock, const struct netconfig *nconf, if (strncmp("0", servname, 1) == 0) { struct sockaddr *sap; socklen_t slen; - char *sname; sname = malloc(NI_MAXSERV); if (sname == NULL) { @@ -362,6 +363,7 @@ create_service(const int sock, const struct netconfig *nconf, strerror(errno)); freeaddrinfo(res0); close(s); + free(sname); return -1; } error = getnameinfo(sap, slen, @@ -373,6 +375,7 @@ create_service(const int sock, const struct netconfig *nconf, strerror(errno)); freeaddrinfo(res0); close(s); + free(sname); return -1; } servname = sname; @@ -441,7 +444,7 @@ create_service(const int sock, const struct netconfig *nconf, } /* XXX: ignore error intentionally */ rpcb_set(YPPROG, YPVERS, nconf, &svcaddr); - + free (sname); freeaddrinfo(res0); return 0; } |