diff mbox series

qdev-monitor: Fix use after free on duplicate device ID error

Message ID 20211103073848.1459138-1-armbru@redhat.com
State New
Headers show
Series qdev-monitor: Fix use after free on duplicate device ID error | expand

Commit Message

Markus Armbruster Nov. 3, 2021, 7:38 a.m. UTC
Fixes: 4a1d937796de0fecd8b22d7dbebf87f38e8282fd
Reported-by: Coverity CID 1465223
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 softmmu/qdev-monitor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marc-André Lureau Nov. 3, 2021, 7:42 a.m. UTC | #1
On Wed, Nov 3, 2021 at 11:39 AM Markus Armbruster <armbru@redhat.com> wrote:

> Fixes: 4a1d937796de0fecd8b22d7dbebf87f38e8282fd
> Reported-by: Coverity CID 1465223
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  softmmu/qdev-monitor.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
> index e49d9773d2..14c1fb76c5 100644
> --- a/softmmu/qdev-monitor.c
> +++ b/softmmu/qdev-monitor.c
> @@ -592,8 +592,8 @@ const char *qdev_set_id(DeviceState *dev, char *id,
> Error **errp)
>          if (prop) {
>              dev->id = id;
>          } else {
> -            g_free(id);
>              error_setg(errp, "Duplicate device ID '%s'", id);
> +            g_free(id);
>              return NULL;
>          }
>      } else {
> --
> 2.31.1
>
>
>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Damien Hedde Nov. 3, 2021, 9:25 a.m. UTC | #2
On 11/3/21 08:38, Markus Armbruster wrote:
> Fixes: 4a1d937796de0fecd8b22d7dbebf87f38e8282fd
> Reported-by: Coverity CID 1465223
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>

Thanks,
Damien
> ---
>   softmmu/qdev-monitor.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
> index e49d9773d2..14c1fb76c5 100644
> --- a/softmmu/qdev-monitor.c
> +++ b/softmmu/qdev-monitor.c
> @@ -592,8 +592,8 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
>           if (prop) {
>               dev->id = id;
>           } else {
> -            g_free(id);
>               error_setg(errp, "Duplicate device ID '%s'", id);
> +            g_free(id);
>               return NULL;
>           }
>       } else {
>
Kevin Wolf Nov. 3, 2021, 9:33 a.m. UTC | #3
Am 03.11.2021 um 08:38 hat Markus Armbruster geschrieben:
> Fixes: 4a1d937796de0fecd8b22d7dbebf87f38e8282fd
> Reported-by: Coverity CID 1465223
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Stefan already sent a patch yesterday:

https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00759.html
Message-Id: <20211102163342.31162-1-stefanha@redhat.com>

Kevin
diff mbox series

Patch

diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
index e49d9773d2..14c1fb76c5 100644
--- a/softmmu/qdev-monitor.c
+++ b/softmmu/qdev-monitor.c
@@ -592,8 +592,8 @@  const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
         if (prop) {
             dev->id = id;
         } else {
-            g_free(id);
             error_setg(errp, "Duplicate device ID '%s'", id);
+            g_free(id);
             return NULL;
         }
     } else {