summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/idevicedebug.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/tools/idevicedebug.c b/tools/idevicedebug.c
index 850a4b1..dcdb6b6 100644
--- a/tools/idevicedebug.c
+++ b/tools/idevicedebug.c
@@ -328,12 +328,17 @@ int main(int argc, char *argv[])
instproxy_client_get_path_for_bundle_identifier(instproxy_client, bundle_identifier, &path);
instproxy_client_free(instproxy_client);
instproxy_client = NULL;
- if (container && plist_get_node_type(container) == PLIST_STRING) {
- plist_get_string_val(container, &working_directory);
- debug_info("working_directory: %s\n", working_directory);
- } else {
- fprintf(stderr, "Could not determine container path for bundle identifier %s.\n", bundle_identifier);
- goto cleanup;
+
+ if (container) {
+ if (plist_get_node_type(container) == PLIST_STRING) {
+ plist_get_string_val(container, &working_directory);
+ debug_info("working_directory: %s\n", working_directory);
+ plist_free(container);
+ } else {
+ plist_free(container);
+ fprintf(stderr, "Could not determine container path for bundle identifier %s.\n", bundle_identifier);
+ goto cleanup;
+ }
}
/* start and connect to debugserver */