From bb86bc5892374f3a41784135bebc7ada3270c8c1 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Mon, 22 Aug 2011 17:12:08 -0700 Subject: Fix 'adb backup' command line validation The host side wasn't properly checking for argument-list sufficiency *after* removing any [-f filename] sequence. Fixes bug 5164135 Change-Id: I7bc49e37ef168182088e0e664b6897dd2a088ebf --- adb/commandline.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'adb') diff --git a/adb/commandline.c b/adb/commandline.c index a69f8677..75f337b4 100644 --- a/adb/commandline.c +++ b/adb/commandline.c @@ -579,9 +579,6 @@ static int backup(int argc, char** argv) { int fd, outFd; int i, j; - /* bare "adb backup" is not a valid command */ - if (argc < 2) return usage(); - /* find, extract, and use any -f argument */ for (i = 1; i < argc; i++) { if (!strcmp("-f", argv[i])) { @@ -598,6 +595,9 @@ static int backup(int argc, char** argv) { } } + /* bare "adb backup" or "adb backup -f filename" are not valid invocations */ + if (argc < 2) return usage(); + outFd = adb_open_mode(filename, O_WRONLY | O_CREAT | O_TRUNC, 0640); if (outFd < 0) { fprintf(stderr, "adb: unable to open file %s\n", filename); -- cgit v1.2.3