diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-04-25 15:56:46 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-04-25 15:56:46 +0000 |
commit | f97074045b4eb9b1fba85bdedc35f92f4332b6e4 (patch) | |
tree | 75d43175e53524f7a6ad74d9a012a957cbbc2f40 /contrib/tcpdump | |
parent | 11bc2c1ca77e2c52eed4d689480bba855803c179 (diff) | |
download | src-f97074045b4eb9b1fba85bdedc35f92f4332b6e4.tar.gz src-f97074045b4eb9b1fba85bdedc35f92f4332b6e4.zip |
Cherry-pick 5d3c5151c2b885aab36627bafb8539238da27b2d, it fixes use after free
if tcpdump(1) is run on non-existent interface.
Suggested by: zeising
Notes
Notes:
svn path=/head/; revision=317409
Diffstat (limited to 'contrib/tcpdump')
-rw-r--r-- | contrib/tcpdump/tcpdump.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/tcpdump/tcpdump.c b/contrib/tcpdump/tcpdump.c index 202dce2b859b..527f39d92e47 100644 --- a/contrib/tcpdump/tcpdump.c +++ b/contrib/tcpdump/tcpdump.c @@ -1085,9 +1085,9 @@ open_interface(const char *device, netdissect_options *ndo, char *ebuf) /* * Return an error for our caller to handle. */ - pcap_close(pc); snprintf(ebuf, PCAP_ERRBUF_SIZE, "%s: %s\n(%s)", device, pcap_statustostr(status), cp); + pcap_close(pc); return (NULL); } else if (status == PCAP_ERROR_PERM_DENIED && *cp != '\0') error("%s: %s\n(%s)", device, |