Running QEMU with qemu-system-unicore32 without the kernel parameter results in an assertion error.
Assert should not be used to check user provided parameters. Report an error and exit instead
Signed-off-by: Suramya Shah <shah.suramya@gmail.com>
---
hw/unicore32/puv3.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
index 032078f..2c17cc9 100644
--- a/hw/unicore32/puv3.c
+++ b/hw/unicore32/puv3.c
@@ -93,8 +93,11 @@ static void puv3_load_kernel(const char *kernel_filename)
if (kernel_filename == NULL && qtest_enabled()) {
return;
}
- assert(kernel_filename != NULL);
-
+ if (kernel_filename == NULL) {
+ error_report("No kernel found");
+ exit(1);
+ }
+
/* only zImage format supported */
size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR,
KERNEL_MAX_SIZE);
--
2.9.3
On 03/30/2017 07:50 PM, Suramya Shah wrote: > Running QEMU with qemu-system-unicore32 without the kernel parameter results in an assertion error. > Assert should not be used to check user provided parameters. Report an error and exit instead > Signed-off-by: Suramya Shah <shah.suramya@gmail.com> > --- > hw/unicore32/puv3.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c > index 032078f..2c17cc9 100644 > --- a/hw/unicore32/puv3.c > +++ b/hw/unicore32/puv3.c > @@ -93,8 +93,11 @@ static void puv3_load_kernel(const char *kernel_filename) > if (kernel_filename == NULL && qtest_enabled()) { > return; > } > - assert(kernel_filename != NULL); > - > + if (kernel_filename == NULL) { > + error_report("No kernel found"); > + exit(1); > + } > + > /* only zImage format supported */ > size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, > KERNEL_MAX_SIZE); > Hi, The patch looks good to me. Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> Thanks, Marcel
> On 03/30/2017 07:50 PM, Suramya Shah wrote: >> Running QEMU with qemu-system-unicore32 without the kernel parameter >> results in an assertion error. >> Assert should not be used to check user provided parameters. Report an >> error and exit instead >> Signed-off-by: Suramya Shah <shah.suramya@gmail.com> Thanks Suramya Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> >> --- >> hw/unicore32/puv3.c | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c >> index 032078f..2c17cc9 100644 >> --- a/hw/unicore32/puv3.c >> +++ b/hw/unicore32/puv3.c >> @@ -93,8 +93,11 @@ static void puv3_load_kernel(const char >> *kernel_filename) >> if (kernel_filename == NULL && qtest_enabled()) { >> return; >> } >> - assert(kernel_filename != NULL); >> - >> + if (kernel_filename == NULL) { >> + error_report("No kernel found"); >> + exit(1); >> + } >> + >> /* only zImage format supported */ >> size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, >> KERNEL_MAX_SIZE); >> > > Hi, > > The patch looks good to me. > > Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> > > Thanks, > Marcel >
On 30.03.2017 18:50, Suramya Shah wrote: > Running QEMU with qemu-system-unicore32 without the kernel parameter results in an assertion error. > Assert should not be used to check user provided parameters. Report an error and exit instead > Signed-off-by: Suramya Shah <shah.suramya@gmail.com> Nit: There should be a blank line between the description and the "Signed-off-by" line. And another nit: Since some people are still using 80-columns terminal windows, it's also nicer to wrap the description at the 80 columns barrier (or even 76 columns already) instead. > --- > hw/unicore32/puv3.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c > index 032078f..2c17cc9 100644 > --- a/hw/unicore32/puv3.c > +++ b/hw/unicore32/puv3.c > @@ -93,8 +93,11 @@ static void puv3_load_kernel(const char *kernel_filename) > if (kernel_filename == NULL && qtest_enabled()) { > return; > } > - assert(kernel_filename != NULL); > - > + if (kernel_filename == NULL) { > + error_report("No kernel found"); It's maybe better to give clear instructions to the user, like: "Need a kernel, please provide one with the '-kernel' option" > + exit(1); > + } > + > /* only zImage format supported */ > size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, > KERNEL_MAX_SIZE); > Thomas
© 2016 - 2024 Red Hat, Inc.