GCC reports problems like this:
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -Wall -Werror -I./include -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT layer3/q931.lo -MD -MP -MF layer3/.deps/q931.Tpo -c layer3/q931.c -fPIC -DPIC -o layer3/.libs/q931.o
In file included from /usr/include/string.h:494,
from layer3/q931.c:22:
In function ‘strncpy’,
inlined from ‘mi_encode_redirecting_nr’ at layer3/q931.c:531:3:
/usr/include/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ forming offset [25, 31] is out of the bounds [0, 24] of object ‘ie’ with type ‘unsigned char[24]’ [-Werror=array-bounds]
return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to Tobias Powalowski for reporting this
This commit fixes issue #9 on github.
Here exist two differnt content versions of octet 5b in bearer capabilities
but only alternatively depending on the L1 protocol, so we only need one octet 5b here.
layer3/q931.c: In function 'mi_encode_hlc':
layer3/q931.c:360:3: error: statement with no effect [-Werror=unused-value]
ie[1] | 0x80;
^
Thanks to Tobias Powalowski pointing to this issue
.
cppcheck reported:
[lib/layer3/q931.c:429]: (style) Checking if unsigned variable 'screen' is less than zero.
[lib/layer3/q931.c:455]: (style) Checking if unsigned variable 'screen' is less than zero.
Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
It seems better to have seperated directories for different
parts of the library and also put the suplementary service
stuff into the same library.
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>