afb-evt: fix a bug discovered by clang-check
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 8 Aug 2017 16:16:07 +0000 (18:16 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 8 Aug 2017 16:16:07 +0000 (18:16 +0200)
Change-Id: I6bb1dffeb17fdcaf6e3a2686651d35dd0b0500b9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/afb-evt.c
src/locale-root.c

index 0979db8..1c81fd5 100644 (file)
@@ -312,7 +312,7 @@ static void evt_destroy(struct afb_evt_event *evt)
 struct afb_event afb_evt_create_event(const char *name)
 {
        size_t len;
-       struct afb_evt_event *evt;
+       struct afb_evt_event *evt, *oevt;
 
        /* allocates the event */
        len = strlen(name);
@@ -320,10 +320,6 @@ struct afb_event afb_evt_create_event(const char *name)
        if (evt == NULL)
                goto error;
 
-       /* initialize the event */
-       evt->watchs = NULL;
-       memcpy(evt->name, name, len + 1);
-
        /* allocates the id */
        pthread_mutex_lock(&events_mutex);
        do {
@@ -333,10 +329,10 @@ struct afb_event afb_evt_create_event(const char *name)
                }
                if (!event_id_wrapped)
                        break;
-               evt = events;
-               while(evt != NULL && evt->id != event_id_counter)
-                       evt = evt->next;
-       } while (evt != NULL);
+               oevt = events;
+               while(oevt != NULL && oevt->id != event_id_counter)
+                       oevt = oevt->next;
+       } while (oevt != NULL);
 
        /* initialize the event */
        memcpy(evt->name, name, len + 1);
index ece4456..8386e66 100644 (file)
@@ -263,7 +263,8 @@ static int init_container(struct locale_container *container, int dirfd)
        }
 
        /* sort the folders */
-       qsort(container->folders, container->count, sizeof *container->folders, compare_folders_for_qsort);
+       if (container->count)
+               qsort(container->folders, container->count, sizeof *container->folders, compare_folders_for_qsort);
 
        /* build the parents links */
        i = container->count;