diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-09-28 22:21:04 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-09-28 22:21:04 -0700 |
| commit | 35ad85188b28bcfd13c4e286eb797df6779281ad (patch) | |
| tree | de571751a1aa8c08e318aec24c8863d39514728c /src/core/defs.h | |
| parent | f716f61c81a5f120d61b58ee9b4a52b33b2ecb16 (diff) | |
| download | nng-35ad85188b28bcfd13c4e286eb797df6779281ad.tar.gz nng-35ad85188b28bcfd13c4e286eb797df6779281ad.tar.bz2 nng-35ad85188b28bcfd13c4e286eb797df6779281ad.zip | |
defs: Fix incorrect define of NNI_PUTLEXX macros.
This was responsible for breaking DTLS, and likely other things we
never noticed, if the pointer passed in was not already a uint8_t *.
Diffstat (limited to 'src/core/defs.h')
| -rw-r--r-- | src/core/defs.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/core/defs.h b/src/core/defs.h index 2ad489f6..1cfeeaa4 100644 --- a/src/core/defs.h +++ b/src/core/defs.h @@ -127,28 +127,28 @@ typedef void (*nni_cb)(void *); #define NNI_PUT16LE(ptr, u) \ do { \ - (ptr)[1] = (uint8_t) (((uint16_t) (u)) >> 8u); \ - (ptr)[0] = (uint8_t) ((uint16_t) (u)); \ + ((uint8_t *)ptr)[1] = (uint8_t) (((uint16_t) (u)) >> 8u); \ + ((uint8_t *)ptr)[0] = (uint8_t) ((uint16_t) (u)); \ } while (0) #define NNI_PUT32LE(ptr, u) \ do { \ - (ptr)[3] = (uint8_t) (((uint32_t) (u)) >> 24u); \ - (ptr)[2] = (uint8_t) (((uint32_t) (u)) >> 16u); \ - (ptr)[1] = (uint8_t) (((uint32_t) (u)) >> 8u); \ - (ptr)[0] = (uint8_t) ((uint32_t) (u)); \ + ((uint8_t *)ptr)[3] = (uint8_t) (((uint32_t) (u)) >> 24u); \ + ((uint8_t *)ptr)[2] = (uint8_t) (((uint32_t) (u)) >> 16u); \ + ((uint8_t *)ptr)[1] = (uint8_t) (((uint32_t) (u)) >> 8u); \ + ((uint8_t *)ptr)[0] = (uint8_t) ((uint32_t) (u)); \ } while (0) #define NNI_PUT64LE(ptr, u) \ do { \ - (ptr)[7] = (uint8_t) (((uint64_t) (u)) >> 56u); \ - (ptr)[6] = (uint8_t) (((uint64_t) (u)) >> 48u); \ - (ptr)[5] = (uint8_t) (((uint64_t) (u)) >> 40u); \ - (ptr)[4] = (uint8_t) (((uint64_t) (u)) >> 32u); \ - (ptr)[3] = (uint8_t) (((uint64_t) (u)) >> 24u); \ - (ptr)[2] = (uint8_t) (((uint64_t) (u)) >> 16u); \ - (ptr)[1] = (uint8_t) (((uint64_t) (u)) >> 8u); \ - (ptr)[0] = (uint8_t) ((uint64_t) (u)); \ + ((uint8_t *)ptr)[7] = (uint8_t) (((uint64_t) (u)) >> 56u); \ + ((uint8_t *)ptr)[6] = (uint8_t) (((uint64_t) (u)) >> 48u); \ + ((uint8_t *)ptr)[5] = (uint8_t) (((uint64_t) (u)) >> 40u); \ + ((uint8_t *)ptr)[4] = (uint8_t) (((uint64_t) (u)) >> 32u); \ + ((uint8_t *)ptr)[3] = (uint8_t) (((uint64_t) (u)) >> 24u); \ + ((uint8_t *)ptr)[2] = (uint8_t) (((uint64_t) (u)) >> 16u); \ + ((uint8_t *)ptr)[1] = (uint8_t) (((uint64_t) (u)) >> 8u); \ + ((uint8_t *)ptr)[0] = (uint8_t) ((uint64_t) (u)); \ } while (0) #define NNI_GET16LE(ptr, v) \ |
