diff options
| author | 2014-02-06 13:36:32 +0100 | |
|---|---|---|
| committer | 2014-02-06 13:36:32 +0100 | |
| commit | ce2a16c9bf6fc6cc2d0ae1873078a864285de8f5 (patch) | |
| tree | 7ddc0544a9f75be4cf75a1900c294e9b8c0ef551 /src/bplist.c | |
| parent | a610172854aa39998d5b2cbefd42ce0cfd6a8cb4 (diff) | |
| download | libplist-ce2a16c9bf6fc6cc2d0ae1873078a864285de8f5.tar.gz libplist-ce2a16c9bf6fc6cc2d0ae1873078a864285de8f5.tar.bz2 | |
bplist: prevent segmentation fault in plist_from_bin()
Diffstat (limited to 'src/bplist.c')
| -rw-r--r-- | src/bplist.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bplist.c b/src/bplist.c index b9f2483..523d0fe 100644 --- a/src/bplist.c +++ b/src/bplist.c | |||
| @@ -655,6 +655,9 @@ void plist_from_bin(const char *plist_bin, uint32_t length, plist_t * plist) | |||
| 655 | { | 655 | { |
| 656 | 656 | ||
| 657 | plist_data_t data = plist_get_data(nodeslist[i]); | 657 | plist_data_t data = plist_get_data(nodeslist[i]); |
| 658 | if (!data) { | ||
| 659 | break; | ||
| 660 | } | ||
| 658 | 661 | ||
| 659 | switch (data->type) | 662 | switch (data->type) |
| 660 | { | 663 | { |
