diff options
| author | 2014-09-23 17:50:43 +0200 | |
|---|---|---|
| committer | 2014-09-23 17:50:43 +0200 | |
| commit | 063c629baef6028e84838f77fd1401b05e41dc58 (patch) | |
| tree | d70b6a6678c436a6f4226bb08f315a7f751e5998 | |
| parent | 5ddbe5fa5ee011df10e288c405302a01e7c1dc71 (diff) | |
| download | libplist-063c629baef6028e84838f77fd1401b05e41dc58.tar.gz libplist-063c629baef6028e84838f77fd1401b05e41dc58.tar.bz2 | |
bplist: Prevent crash in plist_from_bin() when parsing unusually structured binary plist
| -rw-r--r-- | src/bplist.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bplist.c b/src/bplist.c index 91d5578..181c150 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -726,7 +726,7 @@ void plist_from_bin(const char *plist_bin, uint32_t length, plist_t * plist) for (i = 0; i < num_objects; i++) { if (i == root_object) continue; node_t* node = (node_t*)nodeslist[i]; - if (NODE_IS_ROOT(node)) { + if (node && NODE_IS_ROOT(node)) { plist_free(node); } } |
