summaryrefslogtreecommitdiffstats
path: root/tools/idevicebackup.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/idevicebackup.c')
-rw-r--r--tools/idevicebackup.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/idevicebackup.c b/tools/idevicebackup.c
index dbba217..8b862d6 100644
--- a/tools/idevicebackup.c
+++ b/tools/idevicebackup.c
@@ -820,9 +820,8 @@ int main(int argc, char *argv[])
820{ 820{
821 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 821 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
822 int i; 822 int i;
823 char udid[41]; 823 char* udid = NULL;
824 uint16_t port = 0; 824 uint16_t port = 0;
825 udid[0] = 0;
826 int cmd = -1; 825 int cmd = -1;
827 int is_full_backup = 0; 826 int is_full_backup = 0;
828 char *backup_directory = NULL; 827 char *backup_directory = NULL;
@@ -858,7 +857,7 @@ int main(int argc, char *argv[])
858 print_usage(argc, argv); 857 print_usage(argc, argv);
859 return 0; 858 return 0;
860 } 859 }
861 strcpy(udid, argv[i]); 860 udid = strdup(argv[i]);
862 continue; 861 continue;
863 } 862 }
864 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 863 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -911,7 +910,7 @@ int main(int argc, char *argv[])
911 910
912 printf("Backup directory is \"%s\"\n", backup_directory); 911 printf("Backup directory is \"%s\"\n", backup_directory);
913 912
914 if (udid[0] != 0) { 913 if (udid) {
915 ret = idevice_new(&phone, udid); 914 ret = idevice_new(&phone, udid);
916 if (ret != IDEVICE_E_SUCCESS) { 915 if (ret != IDEVICE_E_SUCCESS) {
917 printf("No device found with udid %s, is it plugged in?\n", udid); 916 printf("No device found with udid %s, is it plugged in?\n", udid);
@@ -1700,6 +1699,10 @@ files_out:
1700 1699
1701 idevice_free(phone); 1700 idevice_free(phone);
1702 1701
1702 if (udid) {
1703 free(udid);
1704 }
1705
1703 return 0; 1706 return 0;
1704} 1707}
1705 1708