diff mbox series

[1/3] cifs-utils/svcgssd: Fix use-after-free bug (config variables)

Message ID 20220607081909.1216287-1-marcel@linux-ng.de (mailing list archive)
State New, archived
Headers show
Series [1/3] cifs-utils/svcgssd: Fix use-after-free bug (config variables) | expand

Commit Message

marcel@linux-ng.de June 7, 2022, 8:19 a.m. UTC
From: Marcel Ritter <marcel@linux-ng.de>

This patch fixes a bug when trying to set "principal" in /etc/nfs.conf.
Memory gets freed by conf_cleanup() before being used - moving cleanup
code resolves that.

---
 utils/gssd/svcgssd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

marcel@linux-ng.de June 8, 2022, 4:59 p.m. UTC | #1
Hi again,

argl - just noticed that I described the patches with "cifs-utils" - should be "nfs-utils" of course :-(
Sorry for that.

Marcel


June 7, 2022 10:19 AM, marcel@linux-ng.de wrote:

> From: Marcel Ritter <marcel@linux-ng.de>
> 
> This patch fixes a bug when trying to set "principal" in /etc/nfs.conf.
> Memory gets freed by conf_cleanup() before being used - moving cleanup
> code resolves that.
> 
> ---
> utils/gssd/svcgssd.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c
> index 881207b3..a242b789 100644
> --- a/utils/gssd/svcgssd.c
> +++ b/utils/gssd/svcgssd.c
> @@ -211,9 +211,6 @@ main(int argc, char *argv[])
> rpc_verbosity = conf_get_num("svcgssd", "RPC-Verbosity", rpc_verbosity);
> idmap_verbosity = conf_get_num("svcgssd", "IDMAP-Verbosity", idmap_verbosity);
> 
> - /* We don't need the config anymore */
> - conf_cleanup();
> -
> while ((opt = getopt(argc, argv, "fivrnp:")) != -1) {
> switch (opt) {
> case 'f':
> @@ -328,6 +325,9 @@ main(int argc, char *argv[])
> 
> daemon_ready();
> 
> + /* We don't need the config anymore */
> + conf_cleanup();
> +
> nfs4_init_name_mapping(NULL); /* XXX: should only do this once */
> 
> rc = event_base_dispatch(evbase);
> -- 
> 2.34.1
Steve Dickson June 21, 2022, 1:26 p.m. UTC | #2
All 3 patch committed (tag: nfs-utils-2-6-2-rc7)

steved.

On 6/7/22 4:19 AM, marcel@linux-ng.de wrote:
> From: Marcel Ritter <marcel@linux-ng.de>
> 
> This patch fixes a bug when trying to set "principal" in /etc/nfs.conf.
> Memory gets freed by conf_cleanup() before being used - moving cleanup
> code resolves that.
> 
> ---
>   utils/gssd/svcgssd.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c
> index 881207b3..a242b789 100644
> --- a/utils/gssd/svcgssd.c
> +++ b/utils/gssd/svcgssd.c
> @@ -211,9 +211,6 @@ main(int argc, char *argv[])
>   	rpc_verbosity = conf_get_num("svcgssd", "RPC-Verbosity", rpc_verbosity);
>   	idmap_verbosity = conf_get_num("svcgssd", "IDMAP-Verbosity", idmap_verbosity);
>   
> -	/* We don't need the config anymore */
> -	conf_cleanup();
> -
>   	while ((opt = getopt(argc, argv, "fivrnp:")) != -1) {
>   		switch (opt) {
>   			case 'f':
> @@ -328,6 +325,9 @@ main(int argc, char *argv[])
>   
>   	daemon_ready();
>   
> +	/* We don't need the config anymore */
> +	conf_cleanup();
> +
>   	nfs4_init_name_mapping(NULL); /* XXX: should only do this once */
>   
>   	rc = event_base_dispatch(evbase);
diff mbox series

Patch

diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c
index 881207b3..a242b789 100644
--- a/utils/gssd/svcgssd.c
+++ b/utils/gssd/svcgssd.c
@@ -211,9 +211,6 @@  main(int argc, char *argv[])
 	rpc_verbosity = conf_get_num("svcgssd", "RPC-Verbosity", rpc_verbosity);
 	idmap_verbosity = conf_get_num("svcgssd", "IDMAP-Verbosity", idmap_verbosity);
 
-	/* We don't need the config anymore */
-	conf_cleanup();
-
 	while ((opt = getopt(argc, argv, "fivrnp:")) != -1) {
 		switch (opt) {
 			case 'f':
@@ -328,6 +325,9 @@  main(int argc, char *argv[])
 
 	daemon_ready();
 
+	/* We don't need the config anymore */
+	conf_cleanup();
+
 	nfs4_init_name_mapping(NULL); /* XXX: should only do this once */
 
 	rc = event_base_dispatch(evbase);