OSDN Git Service

obexd/mns: Check event value is valid
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 15 Sep 2014 10:41:20 +0000 (13:41 +0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 15 Sep 2014 11:50:39 +0000 (14:50 +0300)
This adds a common check before passing the event value to the callback.

obexd/client/mns.c

index 124dbcf..76b7d1c 100644 (file)
@@ -191,9 +191,6 @@ static void parse_event_report_handle(struct map_event *event,
 static void parse_event_report_folder(struct map_event *event,
                                                        const char *value)
 {
-       if (!value)
-               return;
-
        g_free(event->folder);
 
        if (g_str_has_prefix(value, "/"))
@@ -205,9 +202,6 @@ static void parse_event_report_folder(struct map_event *event,
 static void parse_event_report_old_folder(struct map_event *event,
                                                        const char *value)
 {
-       if (!value)
-               return;
-
        g_free(event->old_folder);
 
        if (g_str_has_prefix(value, "/"))
@@ -219,9 +213,6 @@ static void parse_event_report_old_folder(struct map_event *event,
 static void parse_event_report_msg_type(struct map_event *event,
                                                        const char *value)
 {
-       if (!value)
-               return;
-
        g_free(event->msg_type);
        event->msg_type = g_strdup(value);
 }
@@ -256,7 +247,8 @@ static void event_report_element(GMarkupParseContext *ctxt,
                for (parser = event_report_parsers; parser && parser->name;
                                                                parser++) {
                        if (strcasecmp(key, parser->name) == 0) {
-                               parser->func(event, values[i]);
+                               if (values[i])
+                                       parser->func(event, values[i]);
                                break;
                        }
                }