]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsaloop: fix possible memory leak in create_loopback_handle()
authorJaroslav Kysela <perex@perex.cz>
Fri, 8 Jan 2021 17:21:39 +0000 (18:21 +0100)
committerJaroslav Kysela <perex@perex.cz>
Fri, 8 Jan 2021 17:21:39 +0000 (18:21 +0100)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
alsaloop/alsaloop.c

index 6a9ce58813ce59f287cc957a55e2ce9b4d71762a..06ffadfb19117570009c41c813cab1244920937e 100644 (file)
@@ -85,12 +85,17 @@ static int create_loopback_handle(struct loopback_handle **_handle,
        if (device == NULL)
                device = "hw:0,0";
        handle->device = strdup(device);
-       if (handle->device == NULL)
+       if (handle->device == NULL) {
+               free(handle);
                return -ENOMEM;
+       }
        if (ctldev) {
                handle->ctldev = strdup(ctldev);
-               if (handle->ctldev == NULL)
+               if (handle->ctldev == NULL) {
+                       free(handle->device);
+                       free(handle);
                        return -ENOMEM;
+               }
        } else {
                handle->ctldev = NULL;
        }