diff mbox series

[PATCH-for-5.0] block: Assert BlockDriver::format_name is not NULL

Message ID 20200318222235.23856-1-philmd@redhat.com (mailing list archive)
State New, archived
Headers show
Series [PATCH-for-5.0] block: Assert BlockDriver::format_name is not NULL | expand

Commit Message

Philippe Mathieu-Daudé March 18, 2020, 10:22 p.m. UTC
bdrv_do_find_format() calls strcmp() using BlockDriver::format_name
as argument, which must not be NULL. Assert this field is not null
when we register a block driver in bdrv_register().

Reported-by: Mansour Ahmadi <ManSoSec@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 block.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Alberto Garcia March 19, 2020, 11:53 a.m. UTC | #1
On Wed 18 Mar 2020 11:22:35 PM CET, Philippe Mathieu-Daudé wrote:
> bdrv_do_find_format() calls strcmp() using BlockDriver::format_name
> as argument, which must not be NULL. Assert this field is not null
> when we register a block driver in bdrv_register().
>
> Reported-by: Mansour Ahmadi <ManSoSec@gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto
Max Reitz March 23, 2020, 1:36 p.m. UTC | #2
On 18.03.20 23:22, Philippe Mathieu-Daudé wrote:
> bdrv_do_find_format() calls strcmp() using BlockDriver::format_name
> as argument, which must not be NULL. Assert this field is not null
> when we register a block driver in bdrv_register().
> 
> Reported-by: Mansour Ahmadi <ManSoSec@gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  block.c | 1 +
>  1 file changed, 1 insertion(+)

Thanks, applied to my block branch:

https://git.xanclic.moe/XanClic/qemu/commits/branch/block

Max
diff mbox series

Patch

diff --git a/block.c b/block.c
index a2542c977b..6b984dc883 100644
--- a/block.c
+++ b/block.c
@@ -363,6 +363,7 @@  char *bdrv_get_full_backing_filename(BlockDriverState *bs, Error **errp)
 
 void bdrv_register(BlockDriver *bdrv)
 {
+    assert(bdrv->format_name);
     QLIST_INSERT_HEAD(&bdrv_drivers, bdrv, list);
 }