[SSSD] [PATCH 1/3] Revert "Avoid accessing half-deallocated memory when using talloc_zfree macro."
Simo Sorce
simo at redhat.com
Wed Nov 14 16:55:55 UTC 2012
On Wed, 2012-11-14 at 17:06 +0100, Jakub Hrozek wrote:
> On Wed, Nov 14, 2012 at 05:01:34PM +0100, Pavel Březina wrote:
> > On 11/14/2012 03:01 PM, Simo Sorce wrote:
> > >This reverts commit ff57c6aeb80a52b1f52bd1dac9308a69dc7a4774.
> > >
> > >This commit doesn't really make sense, we are never accessing freed
> > >memory as all we are dealing with is a pointer which is never itsef
> > >part of the memory we are freeing (if it were, it would be an error
> > >in the caller and we shouldn't mask it in this macro).
> > >---
> > > src/util/util.h | 6 +-----
> > > 1 files changed, 1 insertions(+), 5 deletions(-)
> > >
> > >diff --git a/src/util/util.h b/src/util/util.h
> > >index b6ecfc2c952bd6a37f49194d961b3f762c9546e7..66bae505df2779dbfc065a09162fd789fef9e835 100644
> > >--- a/src/util/util.h
> > >+++ b/src/util/util.h
> > >@@ -228,11 +228,7 @@ errno_t set_debug_file_from_fd(const int fd);
> > > #define FLAGS_PID_FILE 0x0004
> > >
> > > #ifndef talloc_zfree
> > >-#define talloc_zfree(ptr) do { \
> > >- TALLOC_CTX *_tmp_ctx = ptr; \
> > >- ptr = NULL; \
> > >- talloc_free(_tmp_ctx); \
> > >- } while(0)
> > >+#define talloc_zfree(ptr) do { talloc_free(ptr); ptr = NULL; } while(0)
> > > #endif
> > >
> > > #ifndef discard_const_p
> >
> > Hi, we can use TALLOC_FREE(ctx) here, which comes from talloc.h and
> > is identical to this macro.
>
> Is it present even in very old talloc versions? We still support RHEL5..
It probably is now, but it is very ugly and we standardized our code to
use talloc_zfree(), I do not think it makes sense to change it.
plus TALLOC_FREE() does not discard const. Which is what I add in the
folloowing pathc, so we'd be back with our own macro.
Simo.
--
Simo Sorce * Red Hat, Inc * New York
More information about the sssd-devel
mailing list