Message ID | 1407489672-12212-9-git-send-email-zhang.zhanghailiang@huawei.com |
---|---|
State | New |
Headers | show |
zhanghailiang writes: > The function fopen() may fail, so check its return value. > > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> > Signed-off-by: Li Liu <john.liuli@huawei.com> > --- > tests/bios-tables-test.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c > index 045eb27..6a357c0 100644 > --- a/tests/bios-tables-test.c > +++ b/tests/bios-tables-test.c > @@ -790,6 +790,8 @@ int main(int argc, char *argv[]) > const char *arch = qtest_get_arch(); > FILE *f = fopen(disk, "w"); > int ret; > + > + g_assert(f != NULL); > fwrite(boot_sector, 1, sizeof boot_sector, f); > fclose(f); Incorrect use of g_assert. An assertion is a test for things that shouldn't happen so in this case it's saying: * this function assumes files will always successfully open Which is not the case. It's quite possible that a fopen will fail and the correct behaviour is to handle the error, not assert out.
On 2014/8/8 17:51, Alex Bennée wrote: > > zhanghailiang writes: > >> The function fopen() may fail, so check its return value. >> >> Signed-off-by: zhanghailiang<zhang.zhanghailiang@huawei.com> >> Signed-off-by: Li Liu<john.liuli@huawei.com> >> --- >> tests/bios-tables-test.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c >> index 045eb27..6a357c0 100644 >> --- a/tests/bios-tables-test.c >> +++ b/tests/bios-tables-test.c >> @@ -790,6 +790,8 @@ int main(int argc, char *argv[]) >> const char *arch = qtest_get_arch(); >> FILE *f = fopen(disk, "w"); >> int ret; >> + >> + g_assert(f != NULL); >> fwrite(boot_sector, 1, sizeof boot_sector, f); >> fclose(f); > > Incorrect use of g_assert. An assertion is a test for things that > shouldn't happen so in this case it's saying: > > * this function assumes files will always successfully open > > Which is not the case. It's quite possible that a fopen will fail and > the correct behaviour is to handle the error, not assert out. > > Good catch! That is a low grade fault, i will correct it! Thanks, Alex Best regards, zhanghailiang
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c index 045eb27..6a357c0 100644 --- a/tests/bios-tables-test.c +++ b/tests/bios-tables-test.c @@ -790,6 +790,8 @@ int main(int argc, char *argv[]) const char *arch = qtest_get_arch(); FILE *f = fopen(disk, "w"); int ret; + + g_assert(f != NULL); fwrite(boot_sector, 1, sizeof boot_sector, f); fclose(f);