From 4fd89b0ba1a3922f1e85b6379622d1ba2661a129 Mon Sep 17 00:00:00 2001 From: Michal Labedzki Date: Mon, 1 Sep 2014 15:45:49 +0200 Subject: Logcat: Fix crashes when try to use logcat_text open routine on binary file Change-Id: Ied0778af9d5ff0e49c6efd4ea9411ae1a72cb8e5 Reviewed-on: https://code.wireshark.org/review/4190 Petri-Dish: Michal Labedzki Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann Reviewed-by: Alexis La Goutte --- wiretap/logcat_text.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'wiretap/logcat_text.c') diff --git a/wiretap/logcat_text.c b/wiretap/logcat_text.c index 7ca2c7cc5b..75e651dca1 100644 --- a/wiretap/logcat_text.c +++ b/wiretap/logcat_text.c @@ -190,7 +190,7 @@ static gboolean logcat_text_read_packet(FILE_T fh, struct wtap_pkthdr *phdr, } if (WTAP_FILE_TYPE_SUBTYPE_LOGCAT_LONG == file_type && - !g_regex_match_simple(SPECIAL_STRING, cbuff, G_REGEX_ANCHORED, G_REGEX_MATCH_NOTEMPTY)) { + !g_regex_match_simple(SPECIAL_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { gint64 file_off = 0; gchar lbuff[WTAP_MAX_PACKET_SIZE]; int err; @@ -268,34 +268,34 @@ int logcat_text_open(wtap *wth, int *err, gchar **err_info _U_) { ret = file_gets(cbuff, WTAP_MAX_PACKET_SIZE, wth->fh); } while (NULL != ret && !file_eof(wth->fh) && ((3 > strlen(cbuff)) - || g_regex_match_simple(SPECIAL_STRING, cbuff, G_REGEX_ANCHORED, + || g_regex_match_simple(SPECIAL_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY))); - if (g_regex_match_simple(BRIEF_STRING, cbuff, G_REGEX_ANCHORED, + if (g_regex_match_simple(BRIEF_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_BRIEF; wth->file_encap = WTAP_ENCAP_LOGCAT_BRIEF; - } else if (g_regex_match_simple(TAG_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(TAG_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_TAG; wth->file_encap = WTAP_ENCAP_LOGCAT_TAG; - } else if (g_regex_match_simple(PROCESS_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(PROCESS_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_PROCESS; wth->file_encap = WTAP_ENCAP_LOGCAT_PROCESS; - } else if (g_regex_match_simple(TIME_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(TIME_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_TIME; wth->file_encap = WTAP_ENCAP_LOGCAT_TIME; - } else if (g_regex_match_simple(THREAD_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(THREAD_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_THREAD; wth->file_encap = WTAP_ENCAP_LOGCAT_THREAD; - } else if (g_regex_match_simple(THREADTIME_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(THREADTIME_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_THREADTIME; wth->file_encap = WTAP_ENCAP_LOGCAT_THREADTIME; - } else if (g_regex_match_simple(LONG_STRING, cbuff, G_REGEX_ANCHORED, + } else if (g_regex_match_simple(LONG_STRING, cbuff, (GRegexCompileFlags)((gint) G_REGEX_ANCHORED | (gint) G_REGEX_RAW), G_REGEX_MATCH_NOTEMPTY)) { wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_LOGCAT_LONG; wth->file_encap = WTAP_ENCAP_LOGCAT_LONG; -- cgit v1.2.3