diff options
author | Michal Labedzki <michal.labedzki@tieto.com> | 2014-09-01 15:45:49 +0200 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-09-20 08:33:12 +0000 |
commit | 4fd89b0ba1a3922f1e85b6379622d1ba2661a129 (patch) | |
tree | 646e3a2e4e0d6924403d5f6529c0d996b34f430f /wiretap/logcat_text.c | |
parent | e489df5024acc86b0bd3c9f41844b06ff7560d24 (diff) | |
download | wireshark-4fd89b0ba1a3922f1e85b6379622d1ba2661a129.tar.gz |
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 <michal.labedzki@tieto.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'wiretap/logcat_text.c')
-rw-r--r-- | wiretap/logcat_text.c | 18 |
1 files changed, 9 insertions, 9 deletions
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; |