From 867d7ca399a3832dec8c22f717442420a0a44665 Mon Sep 17 00:00:00 2001 From: Dario Lombardo Date: Mon, 1 Aug 2016 22:01:27 +0200 Subject: extcap: add null check (CID 1364683). Change-Id: I1d81d6f043fa695ed507cf733fffa832922a708c Reviewed-on: https://code.wireshark.org/review/16832 Petri-Dish: Dario Lombardo Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- extcap.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'extcap.c') diff --git a/extcap.c b/extcap.c index 0835f7ce19..7f67e1e1e1 100644 --- a/extcap.c +++ b/extcap.c @@ -751,26 +751,29 @@ void extcap_if_cleanup(capture_options * capture_opts, gchar ** errormsg) { } #endif - if ( userdata->extcap_stderr != NULL ) - overwrite_exitcode = TRUE; - - if ( overwrite_exitcode || userdata->exitcode != 0 ) + if ( userdata ) { - if ( userdata->extcap_stderr != 0 ) + if ( userdata->extcap_stderr != NULL ) + overwrite_exitcode = TRUE; + + if ( overwrite_exitcode || userdata->exitcode != 0 ) { - if ( *errormsg == NULL ) - *errormsg = g_strdup_printf("Error by extcap pipe: %s", userdata->extcap_stderr); - else + if ( userdata->extcap_stderr != 0 ) { - gchar * temp = g_strconcat ( *errormsg, "\nError by extcap pipe: " ,userdata->extcap_stderr, NULL ); - g_free(*errormsg); - *errormsg = temp; + if ( *errormsg == NULL ) + *errormsg = g_strdup_printf("Error by extcap pipe: %s", userdata->extcap_stderr); + else + { + gchar * temp = g_strconcat ( *errormsg, "\nError by extcap pipe: " ,userdata->extcap_stderr, NULL ); + g_free(*errormsg); + *errormsg = temp; + } + g_free (userdata->extcap_stderr ); } - g_free (userdata->extcap_stderr ); - } - userdata->extcap_stderr = NULL; - userdata->exitcode = 0; + userdata->extcap_stderr = NULL; + userdata->exitcode = 0; + } } if (interface_opts.extcap_child_watch > 0) -- cgit v1.2.3