]> git.proxmox.com Git - mirror_zfs.git/commitdiff
PAM: Fix uninitialized value read
authorRichard Yao <richard.yao@alumni.stonybrook.edu>
Tue, 27 Sep 2022 23:48:35 +0000 (19:48 -0400)
committerGitHub <noreply@github.com>
Tue, 27 Sep 2022 23:48:35 +0000 (16:48 -0700)
Clang's static analyzer found that config.uid is uninitialized when
zfs_key_config_load() returns an error.

Oddly, this was not included in the unchecked return values that
Coverity found.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #13957

contrib/pam_zfs_key/pam_zfs_key.c

index e0bbd249afadb8fd6b41f495b468d81db14a15ce..8c59fc7eb716017d7b023e29d960f93cd1596097 100644 (file)
@@ -810,7 +810,9 @@ pam_sm_close_session(pam_handle_t *pamh, int flags,
                return (PAM_SUCCESS);
        }
        zfs_key_config_t config;
-       zfs_key_config_load(pamh, &config, argc, argv);
+       if (zfs_key_config_load(pamh, &config, argc, argv) != 0) {
+               return (PAM_SESSION_ERR);
+       }
        if (config.uid < 1000) {
                zfs_key_config_free(&config);
                return (PAM_SUCCESS);