hi
struct pppoe_tag { u_int16_t tag_type; u_int16_t tag_len; char tag_data[]; }__packed; struct pppoe_hdr{ u_int8_t ver:4; u_int8_t type:4; u_int8_t code; u_int16_t sid; u_int16_t length; struct pppoe_tag tag[]; }__packed; this is inherently unsafe as the tag_data can only have 0 elements to be used safely. gcc compiles this without warning although there should be a big one. I found this using clang, which produces this error/warning: lev pppoed$ ccc -c pppoed.c ccc: Unknown host 'freebsd', using generic host information. In file included from pppoed.c:41: /usr/include/netgraph/ng_pppoe.h:213:22: error: 'struct pppoe_tag' may not be used as an array element due to flexible array member struct pppoe_tag tag[]; ^ 1 diagnostic generated. can you guys take a look at this issue? thnx! roman p.s. please keep me CCed as I am not subscribed to net@
pgp9FEBfHK84n.pgp
Description: PGP signature