summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-08-22 13:58:27 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-08-26 11:54:54 +0200
commit4e9d5ebd0e9a83aeb6b3ed3a697fdf21b6b7d539 (patch)
tree7dfd525ca8d9ddf4e954ebcaa8f61ebbdc582bd8
parentc50fd91531ef5d77492a4cb51f10d83b8c09f3b9 (diff)
downloadsssd-4e9d5ebd0e9a83aeb6b3ed3a697fdf21b6b7d539.tar.gz
sssd-4e9d5ebd0e9a83aeb6b3ed3a697fdf21b6b7d539.tar.xz
sssd-4e9d5ebd0e9a83aeb6b3ed3a697fdf21b6b7d539.zip
sudo: do not strdup usn on ENOENT
If USN attribute is not present, we call strdup on uninitialized variable. This may cause segfault, or if we are lucky and usn is NULL it will return ENOMEM.
-rw-r--r--src/providers/ldap/sdap_sudo_cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_sudo_cache.c b/src/providers/ldap/sdap_sudo_cache.c
index 5cc1dd20c..de4f65c41 100644
--- a/src/providers/ldap/sdap_sudo_cache.c
+++ b/src/providers/ldap/sdap_sudo_cache.c
@@ -39,7 +39,7 @@ static errno_t sdap_sudo_get_usn(TALLOC_CTX *mem_ctx,
}
ret = sysdb_attrs_get_string(attrs, map[SDAP_AT_SUDO_USN].sys_name, &usn);
- if (ret != EOK && ret != ENOENT) {
+ if (ret != EOK) {
DEBUG(SSSDBG_MINOR_FAILURE,
("Failed to retrieve USN value: [%s]\n", strerror(ret)));