From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44595) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WS9mH-0006T5-HN for qemu-devel@nongnu.org; Mon, 24 Mar 2014 14:39:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WS9m9-0006By-4U for qemu-devel@nongnu.org; Mon, 24 Mar 2014 14:39:17 -0400 From: Prasad Joshi Date: Tue, 25 Mar 2014 00:08:54 +0530 Message-Id: <1395686334-9498-1-git-send-email-prasadjoshi.linux@gmail.com> Subject: [Qemu-devel] [PATCH] qemu-img: mandate argument to 'qemu-img check --repair' List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: prasadjoshi.linux@gmail.com Cc: kwolf@redhat.com, qemu-trivial@nongnu.org, pl@kamp.de, qemu-devel@nongnu.org, stefanha@redhat.com, pbonzini@redhat.com qemu-img check --repair option accepts an argument. The argument to --repair switch can either be 'all' or 'leak'. Fix the long option to mandate argument with --repair switch. The patch fixes following segmentation fault Core was generated by `qemu-img check -f qcow2 --repair all t.qcow2'. Program terminated with signal 11, Segmentation fault. 0 in img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588 588 if (!strcmp(optarg, "leaks")) { (gdb) bt 0 img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588 1 __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 2 _start () (gdb) Signed-off-by: Prasad Joshi --- qemu-img.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu-img.c b/qemu-img.c index 2e40cc1..77d946b 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -565,7 +565,7 @@ static int img_check(int argc, char **argv) static const struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"format", required_argument, 0, 'f'}, - {"repair", no_argument, 0, 'r'}, + {"repair", required_argument, 0, 'r'}, {"output", required_argument, 0, OPTION_OUTPUT}, {0, 0, 0, 0} }; -- 1.8.1.2