Переглянути джерело

Fix segmentation fault when calling plist_sort() on an empty dictionary

Credit to @Anza2001
Nikias Bassen 1 місяць тому
батько
коміт
228a305069
1 змінених файлів з 3 додано та 0 видалено
  1. 3 0
      src/plist.c

+ 3 - 0
src/plist.c

@@ -1808,6 +1808,9 @@ void plist_sort(plist_t plist)
     } else if (PLIST_IS_DICT(plist)) {
         node_t node = (node_t)plist;
         node_t ch;
+        if (!node_first_child(node)) {
+            return;
+        }
         for (ch = node_first_child(node); ch; ch = node_next_sibling(ch)) {
             ch = node_next_sibling(ch);
             plist_sort((plist_t)ch);