diff options
author | 2025-03-27 00:44:24 +0100 | |
---|---|---|
committer | 2025-03-27 00:44:24 +0100 | |
commit | 228a3050695d222dc77e2cab9993396e045dcdfb (patch) | |
tree | b924253cc029e6873aaaccf1f98ff43aae6af092 /src | |
parent | 5ea6de69afcf11f2d2e59258cb055a5b1fdb5f82 (diff) | |
download | libplist-228a3050695d222dc77e2cab9993396e045dcdfb.tar.gz libplist-228a3050695d222dc77e2cab9993396e045dcdfb.tar.bz2 |
Fix segmentation fault when calling plist_sort() on an empty dictionary
Credit to @Anza2001
Diffstat (limited to 'src')
-rw-r--r-- | src/plist.c | 3 |
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); |