diff options
| author | 2014-05-27 12:54:48 +0200 | |
|---|---|---|
| committer | 2014-05-27 12:54:48 +0200 | |
| commit | aede4d06c49a8446e8011ab569c765a4f4ba32e7 (patch) | |
| tree | 4cd1f988c3043893d5617581b18e0bf8eacc0020 /src | |
| parent | 002e964e37ee45da88375b2938a8b302904a3c95 (diff) | |
| download | usbmuxd-aede4d06c49a8446e8011ab569c765a4f4ba32e7.tar.gz usbmuxd-aede4d06c49a8446e8011ab569c765a4f4ba32e7.tar.bz2 | |
client: Fix crash that occured when receiving client command from old client
Diffstat (limited to 'src')
| -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) | |||
| 476 | } else { | 476 | } else { |
| 477 | char *message = NULL; | 477 | char *message = NULL; |
| 478 | plist_t node = plist_dict_get_item(dict, "MessageType"); | 478 | plist_t node = plist_dict_get_item(dict, "MessageType"); |
| 479 | if (!node || plist_get_node_type(node) != PLIST_STRING) { | ||
| 480 | usbmuxd_log(LL_ERROR, "Could not read valid MessageType node from plist!"); | ||
| 481 | plist_free(dict); | ||
| 482 | return -1; | ||
| 483 | } | ||
| 479 | plist_get_string_val(node, &message); | 484 | plist_get_string_val(node, &message); |
| 480 | if (!message) { | 485 | if (!message) { |
| 481 | usbmuxd_log(LL_ERROR, "Could not extract MessageType from plist!"); | 486 | usbmuxd_log(LL_ERROR, "Could not extract MessageType from plist!"); |
