]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsactl: fix lock_fd unlock in load_configuration() - error path
authorJaroslav Kysela <perex@perex.cz>
Fri, 4 Jun 2021 08:08:18 +0000 (10:08 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 4 Jun 2021 08:08:18 +0000 (10:08 +0200)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
alsactl/utils.c

index 881b505396ae6e0887d4485e4673715dbafe35de..fd4a10826ccb210a6b1a49d950cc8b5676f7d9a5 100644 (file)
@@ -220,15 +220,17 @@ int load_configuration(const char *file, snd_config_t **top, int *open_failed)
        }
        err = snd_config_load(config, in);
        snd_input_close(in);
-       if (lock_fd >= 0)
-               state_unlock(lock_fd, file);
        if (err < 0) {
                error("snd_config_load error: %s", snd_strerror(err));
 out:
+               if (lock_fd >= 0)
+                       state_unlock(lock_fd, file);
                snd_config_delete(config);
                snd_config_update_free_global();
                return err;
        } else {
+               if (lock_fd >= 0)
+                       state_unlock(lock_fd, file);
                *top = config;
                return 0;
        }