Page MenuHomeFreeBSD

netlink: Don't use a zero-length array
ClosedPublic

Authored by jhb on Feb 15 2024, 12:16 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 6, 12:38 PM
Unknown Object (File)
Tue, Nov 5, 6:31 AM
Unknown Object (File)
Sun, Oct 27, 10:23 PM
Unknown Object (File)
Mon, Oct 21, 5:31 PM
Unknown Object (File)
Thu, Oct 17, 2:20 PM
Unknown Object (File)
Thu, Oct 17, 4:33 AM
Unknown Object (File)
Wed, Oct 16, 10:20 PM
Unknown Object (File)
Wed, Oct 16, 1:56 AM
Subscribers

Details

Summary

Define SNL_DECLARE_FIELD_PARSER* macros to create a parser that has
no output attributes only input fields and use this to define the
snl_donemsg_parser.

This removes the need for the zero-length nla_p_donemsg[] variable.
Zero length arrays are not valid in ISO C.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb requested review of this revision.Feb 15 2024, 12:16 AM
sys/netlink/netlink_snl.h
201

I can't obviously see a reason why out_size wouldn't be useful for a field-only parser. Both snl_field_parser and snl_attr_parser have callbacks that take the target allocated based on out_size.

Also field generally becomes before attr in the file AFAICT, so would suggest moving this code to line 176.

This revision is now accepted and ready to land.Feb 24 2024, 7:15 PM
This revision was automatically updated to reflect the committed changes.