summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2025-03-27 00:44:24 +0100
committerGravatar Nikias Bassen2025-03-27 00:44:24 +0100
commit228a3050695d222dc77e2cab9993396e045dcdfb (patch)
treeb924253cc029e6873aaaccf1f98ff43aae6af092
parent5ea6de69afcf11f2d2e59258cb055a5b1fdb5f82 (diff)
downloadlibplist-228a3050695d222dc77e2cab9993396e045dcdfb.tar.gz
libplist-228a3050695d222dc77e2cab9993396e045dcdfb.tar.bz2
Fix segmentation fault when calling plist_sort() on an empty dictionary
Credit to @Anza2001
-rw-r--r--src/plist.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plist.c b/src/plist.c
index 514c8e5..f0f0028 100644
--- a/src/plist.c
+++ b/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);