aboutsummaryrefslogtreecommitdiffstats
path: root/caputils
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2020-03-15 22:25:02 +0100
committerGuy Harris <guy@alum.mit.edu>2020-03-15 23:27:29 +0000
commitd87bce7c4fc3da44ecea3b1486b34c24d30adbdb (patch)
treea4f8a4480d461973618d95d8051cf6e5c64ed72b /caputils
parent5b4af5b65bfdd705165049116ed8e57724b119b0 (diff)
capture-wpcap: gracefully exit when has_wpcap is false.
Fix rawshark crash. Bug: 16442 Change-Id: Id65f160d86a4ab204eedd1369e3ed9fa36f9c9e0 Reviewed-on: https://code.wireshark.org/review/36445 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'caputils')
-rw-r--r--caputils/capture-wpcap.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/caputils/capture-wpcap.c b/caputils/capture-wpcap.c
index 0d856fe8a5..f34ea537e0 100644
--- a/caputils/capture-wpcap.c
+++ b/caputils/capture-wpcap.c
@@ -262,7 +262,7 @@ cant_load_winpcap_err(const char *app_name)
}
char*
-pcap_lookupdev (char *errbuf)
+pcap_lookupdev(char *errbuf)
{
char *ret;
if (!has_wpcap) {
@@ -563,15 +563,19 @@ pcap_statustostr(int a)
int
pcap_datalink_name_to_val(const char *name)
{
- g_assert(has_wpcap);
- return p_pcap_datalink_name_to_val(name);
+ if (has_wpcap)
+ return p_pcap_datalink_name_to_val(name);
+ else
+ return -1;
}
int
pcap_list_datalinks(pcap_t *p, int **ddlt)
{
- g_assert(has_wpcap);
- return p_pcap_list_datalinks(p, ddlt);
+ if (has_wpcap)
+ return p_pcap_list_datalinks(p, ddlt);
+ else
+ return -1;
}
#ifdef HAVE_PCAP_FREE_DATALINKS
@@ -596,15 +600,18 @@ pcap_free_datalinks(int *ddlt)
const char *
pcap_datalink_val_to_name(int dlt)
{
- g_assert(has_wpcap);
- return p_pcap_datalink_val_to_name(dlt);
+ if (has_wpcap)
+ return p_pcap_datalink_val_to_name(dlt);
+ else
+ return NULL;
}
const char *
pcap_datalink_val_to_description(int dlt)
{
- g_assert(has_wpcap);
- return p_pcap_datalink_val_to_description(dlt);
+ if (has_wpcap)
+ return p_pcap_datalink_val_to_description(dlt);
+ return NULL;
}
void pcap_breakloop(pcap_t *a)
@@ -621,7 +628,7 @@ int pcap_setbuff(pcap_t *a, int b)
/* pcap_next_ex is available since libpcap 0.8 / WinPcap 3.0! */
/* (if you get a declaration warning here, try to update to at least WinPcap 3.1b4 develpack) */
-int pcap_next_ex (pcap_t *a, struct pcap_pkthdr **b, const u_char **c)
+int pcap_next_ex(pcap_t *a, struct pcap_pkthdr **b, const u_char **c)
{
g_assert(has_wpcap);
return p_pcap_next_ex(a, b, c);