From aede4d06c49a8446e8011ab569c765a4f4ba32e7 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Tue, 27 May 2014 12:54:48 +0200 Subject: client: Fix crash that occured when receiving client command from old client --- src/client.c | 5 +++++ 1 file changed, 5 insertions(+) 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!"); -- cgit v1.1-32-gdbae