aboutsummaryrefslogtreecommitdiff
path: root/contrib/tcpdump
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2017-04-25 15:56:46 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2017-04-25 15:56:46 +0000
commitf97074045b4eb9b1fba85bdedc35f92f4332b6e4 (patch)
tree75d43175e53524f7a6ad74d9a012a957cbbc2f40 /contrib/tcpdump
parent11bc2c1ca77e2c52eed4d689480bba855803c179 (diff)
downloadsrc-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.c2
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,