PAM: Fix unchecked return value from zfs_key_config_load()
commit2ba240f3583e421e87ca3c5be0fb6146bf9c3f07
authorRichard Yao <richard.yao@alumni.stonybrook.edu>
Thu, 6 Oct 2022 00:09:24 +0000 (5 20:09 -0400)
committerGitHub <noreply@github.com>
Thu, 6 Oct 2022 00:09:24 +0000 (5 17:09 -0700)
tree227cd728303befa270558065b80cafa733578738
parent4b629d04a5b8d26122ce6b0bf2eb9d1d78b382b0
PAM: Fix unchecked return value from zfs_key_config_load()

9a49c6b782443ba6e627f2261c45f082ad843094 was intended to fix this issue,
but I had missed the case in pam_sm_open_session(). Clang's static
analyzer had not reported it and I forgot to look for other cases.

Interestingly, GCC gcc-12.1.1_p20220625's static analyzer had caught
this as multiple double-free bugs, since another failure after the
failure in zfs_key_config_load() will cause us to attempt to free the
memory that zfs_key_config_load() was supposed to allocate, but had
cleaned up upon failure.

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