summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2012-11-29 03:42:06 +0100
committerGravatar Nikias Bassen2012-11-29 03:42:06 +0100
commit36c0192fbb16d068214d2640aecfb731ea24bfaa (patch)
tree4596eb003c5f074c4ca0b9e1e146680927916d11
parentd2b82f9a8330a995a3e913adf734ac2b9ece9916 (diff)
downloadlibimobiledevice-36c0192fbb16d068214d2640aecfb731ea24bfaa.tar.gz
libimobiledevice-36c0192fbb16d068214d2640aecfb731ea24bfaa.tar.bz2
tools: use pointer instead of static buffer for UDID since it can start with '0'
-rw-r--r--tools/idevice_id.c5
-rw-r--r--tools/idevicebackup.c11
-rw-r--r--tools/idevicebackup2.c16
-rw-r--r--tools/idevicedate.c21
-rw-r--r--tools/idevicedebugserverproxy.c24
-rw-r--r--tools/idevicediagnostics.c17
-rw-r--r--tools/ideviceenterrecovery.c5
-rw-r--r--tools/ideviceinfo.c21
-rw-r--r--tools/idevicescreenshot.c12
-rw-r--r--tools/idevicesyslog.c21
10 files changed, 60 insertions, 93 deletions
diff --git a/tools/idevice_id.c b/tools/idevice_id.c
index a2669b7..108aad4 100644
--- a/tools/idevice_id.c
+++ b/tools/idevice_id.c
@@ -53,8 +53,7 @@ int main(int argc, char **argv)
53 int ret = 0; 53 int ret = 0;
54 int i; 54 int i;
55 int mode = MODE_SHOW_ID; 55 int mode = MODE_SHOW_ID;
56 char udid[41]; 56 const char* udid = NULL;
57 udid[0] = 0;
58 57
59 /* parse cmdline args */ 58 /* parse cmdline args */
60 for (i = 1; i < argc; i++) { 59 for (i = 1; i < argc; i++) {
@@ -79,7 +78,7 @@ int main(int argc, char **argv)
79 print_usage(argc, argv); 78 print_usage(argc, argv);
80 return 0; 79 return 0;
81 } 80 }
82 strcpy(udid, argv[i]); 81 udid = argv[i];
83 } 82 }
84 83
85 switch (mode) { 84 switch (mode) {
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
diff --git a/tools/idevicebackup2.c b/tools/idevicebackup2.c
index 635a5ab..71afb5b 100644
--- a/tools/idevicebackup2.c
+++ b/tools/idevicebackup2.c
@@ -1197,9 +1197,8 @@ int main(int argc, char *argv[])
1197{ 1197{
1198 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 1198 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
1199 int i; 1199 int i;
1200 char udid[41]; 1200 char* udid = NULL;
1201 uint16_t port = 0; 1201 uint16_t port = 0;
1202 udid[0] = 0;
1203 int cmd = -1; 1202 int cmd = -1;
1204 int cmd_flags = 0; 1203 int cmd_flags = 0;
1205 int is_full_backup = 0; 1204 int is_full_backup = 0;
@@ -1230,7 +1229,7 @@ int main(int argc, char *argv[])
1230 print_usage(argc, argv); 1229 print_usage(argc, argv);
1231 return 0; 1230 return 0;
1232 } 1231 }
1233 strcpy(udid, argv[i]); 1232 udid = strdup(argv[i]);
1234 continue; 1233 continue;
1235 } 1234 }
1236 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 1235 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -1294,7 +1293,7 @@ int main(int argc, char *argv[])
1294 return -1; 1293 return -1;
1295 } 1294 }
1296 1295
1297 if (udid[0] != 0) { 1296 if (udid) {
1298 ret = idevice_new(&phone, udid); 1297 ret = idevice_new(&phone, udid);
1299 if (ret != IDEVICE_E_SUCCESS) { 1298 if (ret != IDEVICE_E_SUCCESS) {
1300 printf("No device found with udid %s, is it plugged in?\n", udid); 1299 printf("No device found with udid %s, is it plugged in?\n", udid);
@@ -1308,10 +1307,7 @@ int main(int argc, char *argv[])
1308 printf("No device found, is it plugged in?\n"); 1307 printf("No device found, is it plugged in?\n");
1309 return -1; 1308 return -1;
1310 } 1309 }
1311 char *newudid = NULL; 1310 idevice_get_udid(phone, &udid);
1312 idevice_get_udid(phone, &newudid);
1313 strcpy(udid, newudid);
1314 free(newudid);
1315 } 1311 }
1316 1312
1317 /* backup directory must contain an Info.plist */ 1313 /* backup directory must contain an Info.plist */
@@ -1893,6 +1889,10 @@ files_out:
1893 1889
1894 idevice_free(phone); 1890 idevice_free(phone);
1895 1891
1892 if (udid) {
1893 free(udid);
1894 }
1895
1896 return 0; 1896 return 0;
1897} 1897}
1898 1898
diff --git a/tools/idevicedate.c b/tools/idevicedate.c
index 9de6ed0..19f7c1d 100644
--- a/tools/idevicedate.c
+++ b/tools/idevicedate.c
@@ -57,10 +57,9 @@ int main(int argc, char *argv[])
57 idevice_t phone = NULL; 57 idevice_t phone = NULL;
58 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 58 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
59 int i; 59 int i;
60 char udid[41]; 60 const char* udid = NULL;
61 time_t setdate = 0; 61 time_t setdate = 0;
62 plist_t node = NULL; 62 plist_t node = NULL;
63 udid[0] = 0;
64 uint64_t datetime = 0; 63 uint64_t datetime = 0;
65 time_t rawtime; 64 time_t rawtime;
66 struct tm * tmp; 65 struct tm * tmp;
@@ -79,7 +78,7 @@ int main(int argc, char *argv[])
79 print_usage(argc, argv); 78 print_usage(argc, argv);
80 return 0; 79 return 0;
81 } 80 }
82 strcpy(udid, argv[i]); 81 udid = argv[i];
83 continue; 82 continue;
84 } 83 }
85 else if (!strcmp(argv[i], "-s") || !strcmp(argv[i], "--set")) { 84 else if (!strcmp(argv[i], "-s") || !strcmp(argv[i], "--set")) {
@@ -124,20 +123,14 @@ int main(int argc, char *argv[])
124 } 123 }
125 } 124 }
126 125
127 if (udid[0] != 0) { 126 ret = idevice_new(&phone, udid);
128 ret = idevice_new(&phone, udid); 127 if (ret != IDEVICE_E_SUCCESS) {
129 if (ret != IDEVICE_E_SUCCESS) { 128 if (udid) {
130 printf("No device found with udid %s, is it plugged in?\n", udid); 129 printf("No device found with udid %s, is it plugged in?\n", udid);
131 return -1; 130 } else {
132 }
133 }
134 else
135 {
136 ret = idevice_new(&phone, NULL);
137 if (ret != IDEVICE_E_SUCCESS) {
138 printf("No device found, is it plugged in?\n"); 131 printf("No device found, is it plugged in?\n");
139 return -1;
140 } 132 }
133 return -1;
141 } 134 }
142 135
143 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(phone, &client, "idevicedate")) { 136 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(phone, &client, "idevicedate")) {
diff --git a/tools/idevicedebugserverproxy.c b/tools/idevicedebugserverproxy.c
index 83aa479..1026fa2 100644
--- a/tools/idevicedebugserverproxy.c
+++ b/tools/idevicedebugserverproxy.c
@@ -227,8 +227,7 @@ int main(int argc, char *argv[])
227 idevice_connection_t connection = NULL; 227 idevice_connection_t connection = NULL;
228 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 228 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
229 thread_t th; 229 thread_t th;
230 char udid[41]; 230 const char* udid = NULL;
231 udid[0] = 0;
232 uint16_t port = 0; 231 uint16_t port = 0;
233 uint16_t local_port = 0; 232 uint16_t local_port = 0;
234 int result = EXIT_SUCCESS; 233 int result = EXIT_SUCCESS;
@@ -256,7 +255,7 @@ int main(int argc, char *argv[])
256 print_usage(argc, argv); 255 print_usage(argc, argv);
257 return 0; 256 return 0;
258 } 257 }
259 strcpy(udid, argv[i]); 258 udid = argv[i];
260 continue; 259 continue;
261 } 260 }
262 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 261 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -281,22 +280,15 @@ int main(int argc, char *argv[])
281 } 280 }
282 281
283 /* start services and connect to device */ 282 /* start services and connect to device */
284 if (udid[0] != 0) { 283 ret = idevice_new(&device, udid);
285 ret = idevice_new(&device, udid); 284 if (ret != IDEVICE_E_SUCCESS) {
286 if (ret != IDEVICE_E_SUCCESS) { 285 if (udid) {
287 fprintf(stderr, "No device found with udid %s, is it plugged in?\n", udid); 286 fprintf(stderr, "No device found with udid %s, is it plugged in?\n", udid);
288 result = EXIT_FAILURE; 287 } else {
289 goto leave_cleanup;
290 }
291 }
292 else
293 {
294 ret = idevice_new(&device, NULL);
295 if (ret != IDEVICE_E_SUCCESS) {
296 fprintf(stderr, "No device found, is it plugged in?\n"); 288 fprintf(stderr, "No device found, is it plugged in?\n");
297 result = EXIT_FAILURE;
298 goto leave_cleanup;
299 } 289 }
290 result = EXIT_FAILURE;
291 goto leave_cleanup;
300 } 292 }
301 293
302 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown, "idevicedebugserverproxy")) { 294 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown, "idevicedebugserverproxy")) {
diff --git a/tools/idevicediagnostics.c b/tools/idevicediagnostics.c
index 3c7f0ac..10dab77 100644
--- a/tools/idevicediagnostics.c
+++ b/tools/idevicediagnostics.c
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
60 uint16_t port = 0; 60 uint16_t port = 0;
61 int result = -1; 61 int result = -1;
62 int i; 62 int i;
63 char *udid = NULL; 63 const char *udid = NULL;
64 int cmd = CMD_NONE; 64 int cmd = CMD_NONE;
65 char* cmd_arg = NULL; 65 char* cmd_arg = NULL;
66 plist_t node = NULL; 66 plist_t node = NULL;
@@ -79,7 +79,7 @@ int main(int argc, char **argv)
79 result = 0; 79 result = 0;
80 goto cleanup; 80 goto cleanup;
81 } 81 }
82 udid = strdup(argv[i]); 82 udid = argv[i];
83 continue; 83 continue;
84 } 84 }
85 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 85 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -165,14 +165,14 @@ int main(int argc, char **argv)
165 } 165 }
166 166
167 if (IDEVICE_E_SUCCESS != idevice_new(&device, udid)) { 167 if (IDEVICE_E_SUCCESS != idevice_new(&device, udid)) {
168 printf("No device found, is it plugged in?\n"); 168 if (udid) {
169 printf("No device found with udid %s, is it plugged in?\n", udid);
170 } else {
171 printf("No device found, is it plugged in?\n");
172 }
169 goto cleanup; 173 goto cleanup;
170 } 174 }
171 175
172 if (udid) {
173 free(udid);
174 }
175
176 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown_client, NULL)) { 176 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown_client, NULL)) {
177 idevice_free(device); 177 idevice_free(device);
178 printf("Unable to connect to lockdownd.\n"); 178 printf("Unable to connect to lockdownd.\n");
@@ -261,9 +261,6 @@ int main(int argc, char **argv)
261 idevice_free(device); 261 idevice_free(device);
262 262
263cleanup: 263cleanup:
264 if (udid) {
265 free(udid);
266 }
267 if (node) { 264 if (node) {
268 plist_free(node); 265 plist_free(node);
269 } 266 }
diff --git a/tools/ideviceenterrecovery.c b/tools/ideviceenterrecovery.c
index fc46e75..62df70f 100644
--- a/tools/ideviceenterrecovery.c
+++ b/tools/ideviceenterrecovery.c
@@ -45,8 +45,7 @@ int main(int argc, char *argv[])
45 idevice_t phone = NULL; 45 idevice_t phone = NULL;
46 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 46 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
47 int i; 47 int i;
48 char udid[41]; 48 const char* udid = NULL;
49 udid[0] = 0;
50 49
51 /* parse cmdline args */ 50 /* parse cmdline args */
52 for (i = 1; i < argc; i++) { 51 for (i = 1; i < argc; i++) {
@@ -65,7 +64,7 @@ int main(int argc, char *argv[])
65 print_usage(argc, argv); 64 print_usage(argc, argv);
66 return 0; 65 return 0;
67 } 66 }
68 strcpy(udid, argv[i]); 67 udid = argv[i];
69 68
70 ret = idevice_new(&phone, udid); 69 ret = idevice_new(&phone, udid);
71 if (ret != IDEVICE_E_SUCCESS) { 70 if (ret != IDEVICE_E_SUCCESS) {
diff --git a/tools/ideviceinfo.c b/tools/ideviceinfo.c
index f3c8193..8635a48 100644
--- a/tools/ideviceinfo.c
+++ b/tools/ideviceinfo.c
@@ -285,14 +285,13 @@ int main(int argc, char *argv[])
285 int i; 285 int i;
286 int simple = 0; 286 int simple = 0;
287 int format = FORMAT_KEY_VALUE; 287 int format = FORMAT_KEY_VALUE;
288 char udid[41]; 288 const char* udid = NULL;
289 char *domain = NULL; 289 char *domain = NULL;
290 char *key = NULL; 290 char *key = NULL;
291 char *xml_doc = NULL; 291 char *xml_doc = NULL;
292 uint32_t xml_length; 292 uint32_t xml_length;
293 plist_t node = NULL; 293 plist_t node = NULL;
294 plist_type node_type; 294 plist_type node_type;
295 udid[0] = 0;
296 295
297 /* parse cmdline args */ 296 /* parse cmdline args */
298 for (i = 1; i < argc; i++) { 297 for (i = 1; i < argc; i++) {
@@ -306,7 +305,7 @@ int main(int argc, char *argv[])
306 print_usage(argc, argv); 305 print_usage(argc, argv);
307 return 0; 306 return 0;
308 } 307 }
309 strcpy(udid, argv[i]); 308 udid = argv[i];
310 continue; 309 continue;
311 } 310 }
312 else if (!strcmp(argv[i], "-q") || !strcmp(argv[i], "--domain")) { 311 else if (!strcmp(argv[i], "-q") || !strcmp(argv[i], "--domain")) {
@@ -348,20 +347,14 @@ int main(int argc, char *argv[])
348 } 347 }
349 } 348 }
350 349
351 if (udid[0] != 0) { 350 ret = idevice_new(&phone, udid);
352 ret = idevice_new(&phone, udid); 351 if (ret != IDEVICE_E_SUCCESS) {
353 if (ret != IDEVICE_E_SUCCESS) { 352 if (udid) {
354 printf("No device found with udid %s, is it plugged in?\n", udid); 353 printf("No device found with udid %s, is it plugged in?\n", udid);
355 return -1; 354 } else {
356 }
357 }
358 else
359 {
360 ret = idevice_new(&phone, NULL);
361 if (ret != IDEVICE_E_SUCCESS) {
362 printf("No device found, is it plugged in?\n"); 355 printf("No device found, is it plugged in?\n");
363 return -1;
364 } 356 }
357 return -1;
365 } 358 }
366 359
367 if (LOCKDOWN_E_SUCCESS != (simple ? 360 if (LOCKDOWN_E_SUCCESS != (simple ?
diff --git a/tools/idevicescreenshot.c b/tools/idevicescreenshot.c
index 766c7ac..cba62a2 100644
--- a/tools/idevicescreenshot.c
+++ b/tools/idevicescreenshot.c
@@ -39,7 +39,7 @@ int main(int argc, char **argv)
39 uint16_t port = 0; 39 uint16_t port = 0;
40 int result = -1; 40 int result = -1;
41 int i; 41 int i;
42 char *udid = NULL; 42 const char *udid = NULL;
43 43
44 /* parse cmdline args */ 44 /* parse cmdline args */
45 for (i = 1; i < argc; i++) { 45 for (i = 1; i < argc; i++) {
@@ -53,7 +53,7 @@ int main(int argc, char **argv)
53 print_usage(argc, argv); 53 print_usage(argc, argv);
54 return 0; 54 return 0;
55 } 55 }
56 udid = strdup(argv[i]); 56 udid = argv[i];
57 continue; 57 continue;
58 } 58 }
59 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 59 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -67,15 +67,13 @@ int main(int argc, char **argv)
67 } 67 }
68 68
69 if (IDEVICE_E_SUCCESS != idevice_new(&device, udid)) { 69 if (IDEVICE_E_SUCCESS != idevice_new(&device, udid)) {
70 printf("No device found, is it plugged in?\n");
71 if (udid) { 70 if (udid) {
72 free(udid); 71 printf("No device found with udid %s, is it plugged in?\n", udid);
72 } else {
73 printf("No device found, is it plugged in?\n");
73 } 74 }
74 return -1; 75 return -1;
75 } 76 }
76 if (udid) {
77 free(udid);
78 }
79 77
80 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lckd, NULL)) { 78 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lckd, NULL)) {
81 idevice_free(device); 79 idevice_free(device);
diff --git a/tools/idevicesyslog.c b/tools/idevicesyslog.c
index 2adf327..73dd8e1 100644
--- a/tools/idevicesyslog.c
+++ b/tools/idevicesyslog.c
@@ -48,9 +48,8 @@ int main(int argc, char *argv[])
48 idevice_t phone = NULL; 48 idevice_t phone = NULL;
49 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; 49 idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR;
50 int i; 50 int i;
51 char udid[41]; 51 const char* udid = NULL;
52 uint16_t port = 0; 52 uint16_t port = 0;
53 udid[0] = 0;
54 53
55 signal(SIGINT, clean_exit); 54 signal(SIGINT, clean_exit);
56 signal(SIGTERM, clean_exit); 55 signal(SIGTERM, clean_exit);
@@ -71,7 +70,7 @@ int main(int argc, char *argv[])
71 print_usage(argc, argv); 70 print_usage(argc, argv);
72 return 0; 71 return 0;
73 } 72 }
74 strcpy(udid, argv[i]); 73 udid = argv[i];
75 continue; 74 continue;
76 } 75 }
77 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { 76 else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
@@ -84,20 +83,14 @@ int main(int argc, char *argv[])
84 } 83 }
85 } 84 }
86 85
87 if (udid[0] != 0) { 86 ret = idevice_new(&phone, udid);
88 ret = idevice_new(&phone, udid); 87 if (ret != IDEVICE_E_SUCCESS) {
89 if (ret != IDEVICE_E_SUCCESS) { 88 if (udid) {
90 printf("No device found with udid %s, is it plugged in?\n", udid); 89 printf("No device found with udid %s, is it plugged in?\n", udid);
91 return -1; 90 } else {
92 }
93 }
94 else
95 {
96 ret = idevice_new(&phone, NULL);
97 if (ret != IDEVICE_E_SUCCESS) {
98 printf("No device found, is it plugged in?\n"); 91 printf("No device found, is it plugged in?\n");
99 return -1;
100 } 92 }
93 return -1;
101 } 94 }
102 95
103 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(phone, &client, "idevicesyslog")) { 96 if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(phone, &client, "idevicesyslog")) {