[PATCH v2 1/2] util: Add l_safe_memcpy
Denis Kenzior <[email protected]> Thu, 31 Oct 2024 11:19:17 -0500
| Newsgroups | dev.linux.lists.ell |
|---|---|
| Message-ID | <[email protected]> |
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);
--
2.45.2