[clamav-users] ClamAV® blog: ClamAV 0.103.0 released!
Orion Poplawski
orion at nwra.com
Fri Sep 18 04:28:27 UTC 2020
On 9/15/20 12:22 PM, Arjen de Korte via clamav-users wrote:
> ClamAV 0.103.0 builds (and runs) fine most of the time, but I do see
> (infrequent) failing checks on the build servers for openSUSE. This
> could be a race condition in the tests and might depend on the number of
> cores or CPU of the buildserver it runs on.
>
> One thing that does concern me slightly, is the number of -Wformat
> warning in the tests, for example
>
> [ 166s] In file included from check_clamav.c:11:
> [ 166s] check_clamav.c: In function 'diff_file_mem':
> [ 166s] check_clamav.c:1267:26: warning: format '%d' expects argument
> of type 'int', but argument 5 has type 'size_t' {aka 'long unsigned
> int'} [-Wformat=]
> [ 166s] 1267 | ck_assert_msg(!!buf, "unable to malloc buffer: %d",
> len);
> [ 166s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~
> [ 166s] | |
> [ 166s] |
> size_t {aka long unsigned int}
> [ 166s] check_clamav.c:1267:53: note: format string is defined here
> [ 166s] 1267 | ck_assert_msg(!!buf, "unable to malloc buffer: %d",
> len);
> [ 166s] | ~^
> [ 166s] | |
> [ 166s] | int
> [ 166s] | %ld
>
> There are many more which could potentially be an issue.
The Fedora build fails because we build with -Werror=format-security:
gcc -DHAVE_CONFIG_H -I. -I.. -I../libclammspack -I.. -I../libclamav
-I../libclamav -I../libclamunrar_iface -pthread -I/usr/include/json-c
-DSRCDIR=\"/home/orion/fedora/clamav/clamav-0.103.0/unit_tests\"
-DOBJDIR=\"/home/orion/fedora/clamav/clamav-0.103.0/unit_tests\"
-I/usr/include/libprelude -I/usr/include/libxml2 -O2 -flto=auto
-ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
-m64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o check_clamav-check_jsnorm.o `test -f
'check_jsnorm.c' || echo './'`check_jsnorm.c
In file included from check_jsnorm.c:32:
check_jsnorm.c: In function 'tokenizer_test':
check_jsnorm.c:250:57: error: format not a string literal and no format
arguments [-Werror=format-security]
250 | ck_assert_msg("failed to open output file: %s", filename);
| ^~~~~~~~
In this case it appears that the ck_assert_msg() call is missing the
condition check. I've filed
https://github.com/Cisco-Talos/clamav-devel/pull/138 with I think the
proper fix.
Orion
--
Orion Poplawski
Manager of NWRA Technical Systems 720-772-5637
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane orion at nwra.com
Boulder, CO 80301 https://www.nwra.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3843 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.clamav.net/pipermail/clamav-users/attachments/20200917/61e3565a/attachment.bin>
More information about the clamav-users
mailing list