[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] Check infinite loop in img_create()
From: |
Xu Wang |
Subject: |
[Qemu-devel] [PATCH 2/2] Check infinite loop in img_create() |
Date: |
Thu, 27 Jun 2013 03:38:20 -0400 |
From: Xu Wang <address@hidden>
Signed-off-by: Xu Wang <address@hidden>
---
qemu-img.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/qemu-img.c b/qemu-img.c
index 0bc265d..fe11421 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -415,6 +415,7 @@ static int img_create(int argc, char **argv)
char *options = NULL;
Error *local_err = NULL;
bool quiet = false;
+ char backing_file[1024];
for(;;) {
c = getopt(argc, argv, "F:b:f:he6o:q");
@@ -481,6 +482,16 @@ static int img_create(int argc, char **argv)
return print_block_option_help(filename, fmt);
}
+ /* check infinite loop in backing file chain */
+ if (options) {
+ if (get_param_value(backing_file, sizeof(backing_file),
+ "backing_file", options)) {
+ if (backing_file_loop_check(filename, fmt, true, backing_file)) {
+ return 1;
+ }
+ }
+ }
+
bdrv_img_create(filename, fmt, base_filename, base_fmt,
options, img_size, BDRV_O_FLAGS, &local_err, quiet);
if (error_is_set(&local_err)) {
--
1.8.1.4