Re: [PATCH v2 1/2] util: Add l_safe_memcpy
Marcel Holtmann <[email protected]> Thu, 31 Oct 2024 20:15:15 +0100
| Newsgroups | dev.linux.lists.ell |
|---|---|
| Message-ID | <[email protected]> |
Hi Denis,
> Some callers use memcpy without checking whether the size 'n' is greater
> than zero. This is generally fine, but does cause sanitizers to
> complain. Add a new l_safe_memcpy function to take care of this case.
> ---
> ell/util.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/ell/util.h b/ell/util.h
> index c56f182292fa..8a4e0950b41b 100644
> --- a/ell/util.h
> +++ b/ell/util.h
> @@ -243,6 +243,16 @@ static inline void l_put_be64(uint64_t val, void *ptr)
> void *l_malloc(size_t size) __attribute__ ((warn_unused_result, malloc));
> void *l_memdup(const void *mem, size_t size)
> __attribute__ ((warn_unused_result, malloc));
> +
> +static inline void * __attribute__((nonnull(1))) l_safe_memcpy(void *dest,
> + const void *src, size_t n)
> +{
> + if (!n)
> + return dest;
> +
> + return __builtin_memcpy(dest, src, n);
> +}
> +
> void l_free(void *ptr);
> DEFINE_CLEANUP_FUNC(l_free);
why not just l_memcpy?
Regards
Marcel