diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bplist.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bplist.c b/src/bplist.c index 0122e08..73fa4e0 100644 --- a/src/bplist.c +++ b/src/bplist.c | |||
| @@ -441,6 +441,13 @@ static plist_t parse_dict_node(struct bplist_data *bplist, const char** bnode, u | |||
| 441 | plist_free(node); | 441 | plist_free(node); |
| 442 | return NULL; | 442 | return NULL; |
| 443 | } | 443 | } |
| 444 | |||
| 445 | if (plist_get_data(key)->type != PLIST_STRING) { | ||
| 446 | fprintf(stderr, "ERROR: Malformed binary plist dict, invalid node type for key!\n"); | ||
| 447 | plist_free(node); | ||
| 448 | return NULL; | ||
| 449 | } | ||
| 450 | |||
| 444 | /* enforce key type */ | 451 | /* enforce key type */ |
| 445 | plist_get_data(key)->type = PLIST_KEY; | 452 | plist_get_data(key)->type = PLIST_KEY; |
| 446 | if (!plist_get_data(key)->strval) { | 453 | if (!plist_get_data(key)->strval) { |
