summaryrefslogtreecommitdiff
path: root/src/common/tusb_common.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-11-03 16:36:07 +0700
committerhathach <[email protected]>2025-11-04 19:56:53 +0700
commit8979af34c0e5b97520070bcfdffe5280de9ac24c (patch)
tree4ca427d8a2bd73baedd52d1076e8386b447a85d0 /src/common/tusb_common.h
parent22f01aea0d31b5a54532877d02d61f51041aeb6f (diff)
Fixed more alert found by PVS-Studio
Diffstat (limited to 'src/common/tusb_common.h')
-rw-r--r--src/common/tusb_common.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/common/tusb_common.h b/src/common/tusb_common.h
index ac1c6457f..5f659eb95 100644
--- a/src/common/tusb_common.h
+++ b/src/common/tusb_common.h
@@ -111,7 +111,7 @@ extern void* tusb_app_phys_to_virt(void *phys_addr);
//--------------------------------------------------------------------+
//------------- Mem -------------//
-#define tu_memclr(buffer, size) memset((buffer), 0, (size))
+#define tu_memclr(buffer, size) (void) memset((buffer), 0, (size))
#define tu_varclr(_var) tu_memclr(_var, sizeof(*(_var)))
// This is a backport of memset_s from c11
@@ -121,6 +121,10 @@ TU_ATTR_ALWAYS_INLINE static inline int tu_memset_s(void *dest, size_t destsz, i
return -1;
}
+ if (count == 0u) {
+ return 0;
+ }
+
if (count > destsz) {
return -1;
}
@@ -131,13 +135,15 @@ TU_ATTR_ALWAYS_INLINE static inline int tu_memset_s(void *dest, size_t destsz, i
// This is a backport of memcpy_s from c11
TU_ATTR_ALWAYS_INLINE static inline int tu_memcpy_s(void *dest, size_t destsz, const void *src, size_t count) {
- // Validate parameters
if (dest == NULL) {
return -1;
}
- // For memcpy, src may be NULL only if count == 0. Reject otherwise.
- if (src == NULL && count != 0u) {
+ if (count == 0u) {
+ return 0;
+ }
+
+ if (src == NULL) {
return -1;
}
@@ -230,7 +236,7 @@ TU_ATTR_ALWAYS_INLINE static inline uint32_t tu_round_up(uint32_t v, uint32_t f)
// TODO use clz TODO remove
TU_ATTR_ALWAYS_INLINE static inline uint8_t tu_log2(uint32_t value) {
uint8_t result = 0;
- while ((value >>= 1) != 0) {
+ while (value >>= 1) {
result++;
}
return result;