talloc_move - only nullify pointer if memory got "stolen"?

Uri Simchoni uri at samba.org
Thu Mar 9 09:24:40 UTC 2017


Hi,

Just came across this - is the attached patch correct / necessary?

Thanks,
Uri.
-------------- next part --------------
From 6c46c2ce23445639de16ad447d4a2f3612998db1 Mon Sep 17 00:00:00 2001
From: Uri Simchoni <uri at samba.org>
Date: Thu, 9 Mar 2017 11:21:23 +0200
Subject: [PATCH] talloc_move: only nullify source pointer if memory moved

Signed-off-by: Uri Simchoni <uri at samba.org>
---
 lib/talloc/talloc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c
index 7721fa4..fa28b3c 100644
--- a/lib/talloc/talloc.c
+++ b/lib/talloc/talloc.c
@@ -1994,7 +1994,9 @@ _PUBLIC_ void *_talloc_move(const void *new_ctx, const void *_pptr)
 {
 	const void **pptr = discard_const_p(const void *,_pptr);
 	void *ret = talloc_steal(new_ctx, discard_const_p(void, *pptr));
-	(*pptr) = NULL;
+	if (*pptr && ret) {
+		(*pptr) = NULL;
+	}
 	return ret;
 }
 
-- 
2.9.3



More information about the samba-technical mailing list