diff options
author | Sverker Eriksson <[email protected]> | 2018-07-11 18:27:54 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-07-11 20:41:39 +0200 |
commit | cdfc10af65b613a5315add29a3b7a89c6b513883 (patch) | |
tree | ae209083205b19488f7adf3e34da33e9f98c836c /lib/ic/include/ic.h | |
parent | 857156bcadae45fe112911bd7ca735ac6f3ca9d2 (diff) | |
download | otp-cdfc10af65b613a5315add29a3b7a89c6b513883.tar.gz otp-cdfc10af65b613a5315add29a3b7a89c6b513883.tar.bz2 otp-cdfc10af65b613a5315add29a3b7a89c6b513883.zip |
ic: Fix correct external format sizes
longs, longlongs and wchar were too small on 64-bit
which could lead to potential buffer overflow at encoding.
__OE_DOUBLESZ__ was too big, probably due to old text format.
Diffstat (limited to 'lib/ic/include/ic.h')
-rw-r--r-- | lib/ic/include/ic.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/ic/include/ic.h b/lib/ic/include/ic.h index 3dc5dbd4b5..1eb9e1e9d9 100644 --- a/lib/ic/include/ic.h +++ b/lib/ic/include/ic.h @@ -251,13 +251,13 @@ extern "C" { #define __OE_MEMCHUNK__ 1024 #define __OE_VSNSZ__ 1 -#define __OE_LONGSZ__ 7 -#define __OE_LONGLONGSZ__ 7 -#define __OE_ULONGSZ__ 7 -#define __OE_ULONGLONGSZ__ 7 -#define __OE_DOUBLESZ__ 32 +#define __OE_LONGSZ__ (3+sizeof(long)) +#define __OE_LONGLONGSZ__ (3+sizeof(long)) +#define __OE_ULONGSZ__ (3+sizeof(long)) +#define __OE_ULONGLONGSZ__ (3+sizeof(long)) +#define __OE_DOUBLESZ__ 9 #define __OE_CHARSZ__ 2 -#define __OE_WCHARSZ__ 7 +#define __OE_WCHARSZ__ (3+sizeof(CORBA_wchar)) #define __OE_TUPLEHDRSZ__ 5 #define __OE_LISTHDRSZ__ 5 |