public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr
@ 2023-08-01 14:42 Steve Dickson
  2023-08-01 14:42 ` [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache() Steve Dickson
  2023-08-07 11:15 ` [Libtirpc-devel] [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson
  0 siblings, 2 replies; 4+ messages in thread
From: Steve Dickson @ 2023-08-01 14:42 UTC (permalink / raw)
  To: Libtirpc-devel Mailing List; +Cc: Linux NFS Mailing list

From: Herb Wartens <wartens2@llnl.gov>

Null pointers so they are not used again

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2225226
Signed-off-by: Steve Dickson <steved@redhat.com>
---
 src/rpcb_clnt.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
index d178d86..c0a9e12 100644
--- a/src/rpcb_clnt.c
+++ b/src/rpcb_clnt.c
@@ -104,17 +104,27 @@ destroy_addr(addr)
 {
 	if (addr == NULL)
 		return;
-	if(addr->ac_host != NULL)
+	if (addr->ac_host != NULL) {
 		free(addr->ac_host);
-	if(addr->ac_netid != NULL)
+		addr->ac_host = NULL;
+	}
+	if (addr->ac_netid != NULL) {
 		free(addr->ac_netid);
-	if(addr->ac_uaddr != NULL)
+		addr->ac_netid = NULL;
+	}
+	if (addr->ac_uaddr != NULL) {
 		free(addr->ac_uaddr);
-	if(addr->ac_taddr != NULL) {
-		if(addr->ac_taddr->buf != NULL)
+		addr->ac_uaddr = NULL;
+	}
+	if (addr->ac_taddr != NULL) {
+		if(addr->ac_taddr->buf != NULL) {
 			free(addr->ac_taddr->buf);
+			addr->ac_taddr->buf = NULL;
+		}
+		addr->ac_taddr = NULL;
 	}
 	free(addr);
+	addr = NULL;
 }
 
 /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache()
  2023-08-01 14:42 [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson
@ 2023-08-01 14:42 ` Steve Dickson
  2023-08-07 11:16   ` [Libtirpc-devel] " Steve Dickson
  2023-08-07 11:15 ` [Libtirpc-devel] [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson
  1 sibling, 1 reply; 4+ messages in thread
From: Steve Dickson @ 2023-08-01 14:42 UTC (permalink / raw)
  To: Libtirpc-devel Mailing List; +Cc: Linux NFS Mailing list

From: Herb Wartens <wartens2@llnl.gov>

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2224666
Signed-off-by: Steve Dickson <steved@redhat.com>
---
 src/rpcb_clnt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
index c0a9e12..68fe69a 100644
--- a/src/rpcb_clnt.c
+++ b/src/rpcb_clnt.c
@@ -262,12 +262,15 @@ delete_cache(addr)
 	for (cptr = front; cptr != NULL; cptr = cptr->ac_next) {
 		if (!memcmp(cptr->ac_taddr->buf, addr->buf, addr->len)) {
 			/* Unlink from cache. We'll destroy it after releasing the mutex. */
-			if (cptr->ac_uaddr)
+			if (cptr->ac_uaddr) {
 				free(cptr->ac_uaddr);
-			if (prevptr)
+				cptr->ac_uaddr = NULL;
+			}
+			if (prevptr) {
 				prevptr->ac_next = cptr->ac_next;
-			else
+			} else {
 				front = cptr->ac_next;
+			}
 			cachesize--;
 			break;
 		}
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Libtirpc-devel] [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr
  2023-08-01 14:42 [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson
  2023-08-01 14:42 ` [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache() Steve Dickson
@ 2023-08-07 11:15 ` Steve Dickson
  1 sibling, 0 replies; 4+ messages in thread
From: Steve Dickson @ 2023-08-07 11:15 UTC (permalink / raw)
  To: Libtirpc-devel Mailing List; +Cc: Linux NFS Mailing list



On 8/1/23 10:42 AM, Steve Dickson wrote:
> From: Herb Wartens <wartens2@llnl.gov>
> 
> Null pointers so they are not used again
> 
> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2225226
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed... (tag: libtirpc-1-3-4-rc2)

steved
> ---
>   src/rpcb_clnt.c | 20 +++++++++++++++-----
>   1 file changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
> index d178d86..c0a9e12 100644
> --- a/src/rpcb_clnt.c
> +++ b/src/rpcb_clnt.c
> @@ -104,17 +104,27 @@ destroy_addr(addr)
>   {
>   	if (addr == NULL)
>   		return;
> -	if(addr->ac_host != NULL)
> +	if (addr->ac_host != NULL) {
>   		free(addr->ac_host);
> -	if(addr->ac_netid != NULL)
> +		addr->ac_host = NULL;
> +	}
> +	if (addr->ac_netid != NULL) {
>   		free(addr->ac_netid);
> -	if(addr->ac_uaddr != NULL)
> +		addr->ac_netid = NULL;
> +	}
> +	if (addr->ac_uaddr != NULL) {
>   		free(addr->ac_uaddr);
> -	if(addr->ac_taddr != NULL) {
> -		if(addr->ac_taddr->buf != NULL)
> +		addr->ac_uaddr = NULL;
> +	}
> +	if (addr->ac_taddr != NULL) {
> +		if(addr->ac_taddr->buf != NULL) {
>   			free(addr->ac_taddr->buf);
> +			addr->ac_taddr->buf = NULL;
> +		}
> +		addr->ac_taddr = NULL;
>   	}
>   	free(addr);
> +	addr = NULL;
>   }
>   
>   /*


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Libtirpc-devel] [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache()
  2023-08-01 14:42 ` [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache() Steve Dickson
@ 2023-08-07 11:16   ` Steve Dickson
  0 siblings, 0 replies; 4+ messages in thread
From: Steve Dickson @ 2023-08-07 11:16 UTC (permalink / raw)
  To: Libtirpc-devel Mailing List; +Cc: Linux NFS Mailing list



On 8/1/23 10:42 AM, Steve Dickson wrote:
> From: Herb Wartens <wartens2@llnl.gov>
> 
> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2224666
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed... (tag: libtirpc-1-3-4-rc2)

steved
> ---
>   src/rpcb_clnt.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
> index c0a9e12..68fe69a 100644
> --- a/src/rpcb_clnt.c
> +++ b/src/rpcb_clnt.c
> @@ -262,12 +262,15 @@ delete_cache(addr)
>   	for (cptr = front; cptr != NULL; cptr = cptr->ac_next) {
>   		if (!memcmp(cptr->ac_taddr->buf, addr->buf, addr->len)) {
>   			/* Unlink from cache. We'll destroy it after releasing the mutex. */
> -			if (cptr->ac_uaddr)
> +			if (cptr->ac_uaddr) {
>   				free(cptr->ac_uaddr);
> -			if (prevptr)
> +				cptr->ac_uaddr = NULL;
> +			}
> +			if (prevptr) {
>   				prevptr->ac_next = cptr->ac_next;
> -			else
> +			} else {
>   				front = cptr->ac_next;
> +			}
>   			cachesize--;
>   			break;
>   		}


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-08-07 11:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-01 14:42 [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson
2023-08-01 14:42 ` [PATCH 2/2] rpcb_clnt.c: Eliminate double frees in delete_cache() Steve Dickson
2023-08-07 11:16   ` [Libtirpc-devel] " Steve Dickson
2023-08-07 11:15 ` [Libtirpc-devel] [PATCH 1/2] rpcb_clnt.c: memory leak in destroy_addr Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox