diff options
author | Martin Szulecki | 2014-05-27 12:54:48 +0200 |
---|---|---|
committer | Martin Szulecki | 2014-05-27 12:54:48 +0200 |
commit | aede4d06c49a8446e8011ab569c765a4f4ba32e7 (patch) | |
tree | 4cd1f988c3043893d5617581b18e0bf8eacc0020 | |
parent | 002e964e37ee45da88375b2938a8b302904a3c95 (diff) | |
download | usbmuxd-aede4d06c49a8446e8011ab569c765a4f4ba32e7.tar.gz usbmuxd-aede4d06c49a8446e8011ab569c765a4f4ba32e7.tar.bz2 |
client: Fix crash that occured when receiving client command from old client
-rw-r--r-- | src/client.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c index c6a7ce8..b30fb06 100644 --- a/src/client.c +++ b/src/client.c @@ -476,6 +476,11 @@ static int client_command(struct mux_client *client, struct usbmuxd_header *hdr) } else { char *message = NULL; plist_t node = plist_dict_get_item(dict, "MessageType"); + if (!node || plist_get_node_type(node) != PLIST_STRING) { + usbmuxd_log(LL_ERROR, "Could not read valid MessageType node from plist!"); + plist_free(dict); + return -1; + } plist_get_string_val(node, &message); if (!message) { usbmuxd_log(LL_ERROR, "Could not extract MessageType from plist!"); |