[PATCH] umdns: fix compilation with GCC 10

Petr Štetiar ynezz at true.cz
Mon Aug 31 04:29:33 EDT 2020


Rosen Penev <rosenp at gmail.com> [2020-08-31 00:53:32]:

> >> /service.c:242:10: error: 'strncpy' offset 6 from the object at 'b' is
> >> out of the bounds of referenced subobject 'name' with type 'uint8_t[]'
> >> {aka 'unsigned char[]'} at offset 6 [-Werror=array-bounds]
> >> 242 | s->id = strncpy(d_id, blobmsg_name(b), n);
> > 
> > how could one reproduce this error message?
> GCC10?

I've `gcc-10 (Ubuntu 10.1.0-2ubuntu1~18.04) 10.1.0` and I'm afraid, thats not
enough. I've tried to compile it with following:

 /usr/bin/gcc-10 -D_FORTIFY_SOURCE=2 -I/opt/devel/openwrt/testing/include -g -Os
 -ggdb -Wextra -Wall -Werror --std=gnu99 -Wmissing-declarations
 -Wno-unused-parameter -fstack-protector-strong -Wformat -Werror=format-security
 -o CMakeFiles/umdns.dir/service.c.o -c /opt/devel/openwrt/c-projects/mdnsd/service.c

which "just" yields following errors in service.c:

 service.c:110:10: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare]
 service.c:279:16: error: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Werror=sign-compare]

-- ynezz



More information about the openwrt-devel mailing list