From 6b92cdb69ba5bb394973f400c31a62284777491c Mon Sep 17 00:00:00 2001 From: Packit Date: Sep 09 2020 11:10:19 +0000 Subject: Apply patch autofs-5.1.5-use-local-getmntent_r-in-table_is_mounted.patch patch_name: autofs-5.1.5-use-local-getmntent_r-in-table_is_mounted.patch present_in_specfile: true --- diff --git a/CHANGELOG b/CHANGELOG index 9b49224..02071a6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -67,6 +67,7 @@ xx/xx/2018 autofs-5.1.5 - use mp instead of path in mnt_list entries. - always use PROC_MOUNTS to make mount lists. - add glibc getmntent_r(). +- use local getmntent_r in table_is_mounted(). 19/12/2017 autofs-5.1.4 - fix spec file url. diff --git a/lib/mounts.c b/lib/mounts.c index 115e55e..cf637f4 100644 --- a/lib/mounts.c +++ b/lib/mounts.c @@ -999,14 +999,14 @@ static int table_is_mounted(const char *mp, unsigned int type) if (!mp || !mp_len || mp_len >= PATH_MAX) return 0; - tab = open_setmntent_r(_PROC_MOUNTS); + tab = open_fopen_r(_PROC_MOUNTS); if (!tab) { char *estr = strerror_r(errno, buf, PATH_MAX - 1); - logerr("setmntent: %s", estr); + logerr("fopen: %s", estr); return 0; } - while ((mnt = getmntent_r(tab, &mnt_wrk, buf, PATH_MAX * 3))) { + while ((mnt = local_getmntent_r(tab, &mnt_wrk, buf, PATH_MAX * 3))) { size_t len = strlen(mnt->mnt_dir); if (type) { @@ -1028,7 +1028,7 @@ static int table_is_mounted(const char *mp, unsigned int type) break; } } - endmntent(tab); + fclose(tab); return ret; }