[SSSD] [PATCH 1/3] Revert "Avoid accessing half-deallocated memory when using talloc_zfree macro."

Pavel Březina pbrezina at redhat.com
Wed Nov 14 16:01:34 UTC 2012


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.




More information about the sssd-devel mailing list