git: 7b61f67f398a - stable/12 - Fix leak in libc NFSv4 ACL flags parsing
Ryan Moeller
freqlabs at FreeBSD.org
Fri Apr 23 10:43:19 UTC 2021
The branch stable/12 has been updated by freqlabs:
URL: https://cgit.FreeBSD.org/src/commit/?id=7b61f67f398ab589f629ee7c4ea705d65d700630
commit 7b61f67f398ab589f629ee7c4ea705d65d700630
Author: Andrew Walker <walker.aj325_gmail.com>
AuthorDate: 2021-04-20 19:34:44 +0000
Commit: Ryan Moeller <freqlabs at FreeBSD.org>
CommitDate: 2021-04-23 10:42:37 +0000
Fix leak in libc NFSv4 ACL flags parsing
Free memory allocated by strdup() in parse_flags_verbose().
Submitted by: Andrew Walker <walker.aj325_gmail.com>
Reported by: valgrind
Reviewed by: allanjude, freqlabs, rpokala
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D29871
(cherry picked from commit dd559118ab3f065ae230b324c3fe4bb1c9b7ca56)
---
lib/libc/posix1e/acl_support_nfs4.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/libc/posix1e/acl_support_nfs4.c b/lib/libc/posix1e/acl_support_nfs4.c
index fe6f6f69cf21..845db5cc7b28 100644
--- a/lib/libc/posix1e/acl_support_nfs4.c
+++ b/lib/libc/posix1e/acl_support_nfs4.c
@@ -143,9 +143,10 @@ parse_flags_verbose(const char *strp, uint32_t *var,
int *try_compact)
{
int i, found, ever_found = 0;
- char *str, *flag;
+ char *str, *flag, *to_free;
str = strdup(strp);
+ to_free = str;
*try_compact = 0;
*var = 0;
@@ -167,12 +168,12 @@ parse_flags_verbose(const char *strp, uint32_t *var,
"invalid flag \"%s\"", flags_name, flag);
else
*try_compact = 1;
- free(str);
+ free(to_free);
return (-1);
}
}
- free(str);
+ free(to_free);
return (0);
}
More information about the dev-commits-src-branches
mailing list