dsdm: cov 86572, free mem in error condition
authorPeter Howkins <flibble@users.sf.net>
Wed, 4 Apr 2018 15:50:19 +0000 (16:50 +0100)
committerPeter Howkins <flibble@users.sf.net>
Wed, 4 Apr 2018 15:50:19 +0000 (16:50 +0100)
cde/programs/dsdm/proxy.c

index 3de6e0e4cb1445e895244fe794b052b4df164ffc..529ba62e080efa72292bd8bb5d537fb9bffc5110 100644 (file)
@@ -976,8 +976,10 @@ GetTargetsIndex(Display *dpy, unsigned char *in_data, unsigned long atom_cnt, CA
     MatchTargets(targets_list, atoms, atom_cnt, targets_index_p);
     byte_order = targets_list->byte_order;
     num_target_lists = Swap2Bytes(byte_order,targets_list->num_target_lists);
-    if (*targets_index_p < num_target_lists)
+    if (*targets_index_p < num_target_lists) {
+       free(targets_list);
        return;
+    }
 
     /* no match, add our targets to the list */
     old_size = Swap4Bytes(byte_order, targets_list->size);