diff options
| author | 2012-11-29 03:42:06 +0100 | |
|---|---|---|
| committer | 2012-11-29 03:42:06 +0100 | |
| commit | 36c0192fbb16d068214d2640aecfb731ea24bfaa (patch) | |
| tree | 4596eb003c5f074c4ca0b9e1e146680927916d11 /tools/idevicebackup.c | |
| parent | d2b82f9a8330a995a3e913adf734ac2b9ece9916 (diff) | |
| download | libimobiledevice-36c0192fbb16d068214d2640aecfb731ea24bfaa.tar.gz libimobiledevice-36c0192fbb16d068214d2640aecfb731ea24bfaa.tar.bz2 | |
tools: use pointer instead of static buffer for UDID since it can start with '0'
Diffstat (limited to 'tools/idevicebackup.c')
| -rw-r--r-- | tools/idevicebackup.c | 11 |
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 | ||
