diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-01-20 13:45:31 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-01-22 14:53:54 +0000 |
commit | 2033be8902f5540f4f0e28bf1b32fb7df0367c66 (patch) | |
tree | c7b08b1d2993b77fb5f63ce37e8d897ccc6acc52 /.gitreview | |
parent | 1c3bae138cea1dbde480ce4382120034eb769e82 (diff) |
Work around bogus gcc-8.2 array-bounds warning/error
gcc-8.2 is printing the following warning, which is an error
when used -Werror like our --enable-werror:
In file included from gprs_bssgp.c:34:
In function ‘tl16v_put’,
inlined from ‘tvlv_put.part.3’ at ../../include/osmocom/gsm/tlv.h:156:9,
inlined from ‘tvlv_put’ at ../../include/osmocom/gsm/tlv.h:147:24,
inlined from ‘msgb_tvlv_push’ at ../../include/osmocom/gsm/tlv.h:386:2,
inlined from ‘bssgp_tx_dl_ud’ at gprs_bssgp.c:1162:4:
../../include/osmocom/gsm/tlv.h:131:2: error: ‘memcpy’ forming offset [12, 130] is out of the bounds [0, 11] of object ‘mi’ with type ‘uint8_t[11]’ {aka ‘unsigned char[11]’} [-Werror=array-bounds]
memcpy(buf, val, len);
Where "130" seems to be the maximum value of uint8_t, shifted right one +
2. But even as we use strnlen() with "16" as maximum upper bound, gcc
still believes there's a way that the return value of gsm48_generate_mid_from_imsi()
could be 130. In fact, even the newly-added OSMO_ASSERT() inside
gsm48_generate_mid() doesn't help and gcc still insists there is a problem :(
Change-Id: I0a06daa19b7b5b5badbb8b3d81a54c45b88a60ec
Diffstat (limited to '.gitreview')
0 files changed, 0 insertions, 0 deletions