[Toybox] [PATCH] route: support iface names > 9 char

David R. Hedges david at thelittleman.net
Fri Sep 30 14:54:32 PDT 2016


The interface name listed by /proc/net/ipv6_route is a char 
buf[IFNAMSIZ], which can be longer than 10.
Change our iface buffer to that same length, and fscanf a maximum string 
of that many characters (including \0).

Also, try to more gracefully handle unexpectedly long lines from 
/proc/net/ipv6_route in fscanf by matching (but not assigning) any 
trailing characters before the newline, otherwise they're the starting 
point for the next iteration.

Here's an ipv6_route test case that demonstrated the problem:

260777000000001f000000013f8384c0 80 00000000000000000000000000000000 00 
fe800000000000006512d4c76293bf99 00000000 00000001 00000005 01050003 
rmnet_data0
260777000000001f00000001d1be6a0a 80 00000000000000000000000000000000 00 
fe800000000000006512d4c76293bf99 00000000 00000002 0000018d 01050003 
rmnet_data0
260777000000001f00000001d83ac0c2 80 00000000000000000000000000000000 00 
fe800000000000006512d4c76293bf99 00000000 00000001 00000002 01050003 
rmnet_data0


  toys/pending/route.c | 10 +++++++---
  1 file changed, 7 insertions(+), 3 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-route-support-iface-names-9-char.patch
Type: text/x-patch
Size: 2353 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20160930/0f3098b7/attachment-0003.bin>


More information about the Toybox mailing list