autofs-5.1.7 - fix possible memory leak in mnts_add_amdmount() From: Ian Kent Coverity: leaked_storage: Variable "ext_mp" going out of scope leaks the storage it points to. Same applies to the other duped fields destined for the mnt_list struct. Signed-off-by: Ian Kent --- CHANGELOG | 1 + lib/mounts.c | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) --- autofs-5.1.4.orig/CHANGELOG +++ autofs-5.1.4/CHANGELOG @@ -53,6 +53,7 @@ - add missing free in handle_mounts(). - remove redundant if check. - fix possible memory leak in master_parse(). +- fix possible memory leak in mnts_add_amdmount(). xx/xx/2018 autofs-5.1.5 - fix flag file permission. --- autofs-5.1.4.orig/lib/mounts.c +++ autofs-5.1.4/lib/mounts.c @@ -1119,16 +1119,16 @@ struct mnt_list *mnts_add_amdmount(struc mnts_hash_mutex_lock(); this = mnts_get_mount(entry->path); - if (this) { - this->ext_mp = ext_mp; - this->amd_pref = pref; - this->amd_type = type; - this->amd_opts = opts; - this->amd_cache_opts = entry->cache_opts; - this->flags |= MNTS_AMD_MOUNT; - if (list_empty(&this->amdmount)) - list_add_tail(&this->amdmount, &ap->amdmounts); - } + if (!this) + goto fail; + this->ext_mp = ext_mp; + this->amd_pref = pref; + this->amd_type = type; + this->amd_opts = opts; + this->amd_cache_opts = entry->cache_opts; + this->flags |= MNTS_AMD_MOUNT; + if (list_empty(&this->amdmount)) + list_add_tail(&this->amdmount, &ap->amdmounts); mnts_hash_mutex_unlock(); return this;