Check the containing item length in some loops.

In some loops, don't loop just until we get an error, stop when we run
out of data to parse.

Also, add some comments to indicate what we know about lengths at
various points, before we do something with the length that happens to
assume what we know.  Add some checks that this auditing found
necessary.
1 file changed
tree: 4c023b00116c0958f7b14af5b6081b839b79a33b
  1. lbl/
  2. missing/
  3. tests/
  4. win32/
  5. .cvsignore
  6. .gitignore
  7. acconfig.h
  8. aclocal.m4
  9. addrtoname.c
  10. addrtoname.h
  11. af.c
  12. af.h
  13. ah.h
  14. aodv.h
  15. appletalk.h
  16. arcnet.h
  17. atime.awk
  18. atm.h
  19. atmuni31.h
  20. bgp.h
  21. bootp.h
  22. bpf_dump.c
  23. CHANGES
  24. chdlc.h
  25. checksum.c
  26. config.guess
  27. config.h.in
  28. config.sub
  29. configure
  30. configure.in
  31. cpack.c
  32. cpack.h
  33. CREDITS
  34. dccp.h
  35. decnet.h
  36. decode_prefix.h
  37. enc.h
  38. esp.h
  39. ether.h
  40. ethertype.h
  41. extract.h
  42. fddi.h
  43. forces.h
  44. gmpls.c
  45. gmpls.h
  46. gmt2local.c
  47. gmt2local.h
  48. icmp6.h
  49. ieee802_11.h
  50. ieee802_11_radio.h
  51. igrp.h
  52. install-sh
  53. INSTALL.txt
  54. interface.h
  55. ip.h
  56. ip6.h
  57. ipfc.h
  58. ipnet.h
  59. ipproto.c
  60. ipproto.h
  61. ipsec_doi.h
  62. ipx.h
  63. isakmp.h
  64. l2tp.h
  65. l2vpn.c
  66. l2vpn.h
  67. lane.h
  68. LICENSE
  69. llc.h
  70. machdep.c
  71. machdep.h
  72. Makefile-devel-adds
  73. Makefile.in
  74. makemib
  75. mib.h
  76. mkdep
  77. mpls.h
  78. nameser.h
  79. netbios.h
  80. netdissect.h
  81. nfs.h
  82. nfsfh.h
  83. nlpid.c
  84. nlpid.h
  85. ntp.h
  86. oakley.h
  87. ospf.h
  88. ospf6.h
  89. oui.c
  90. oui.h
  91. packetdat.awk
  92. parsenfsfh.c
  93. pcap-missing.h
  94. pcap_dump_ftell.c
  95. PLATFORMS
  96. pmap_prot.h
  97. ppp.h
  98. print-802_11.c
  99. print-ah.c
  100. print-aodv.c
  101. print-ap1394.c
  102. print-arcnet.c
  103. print-arp.c
  104. print-ascii.c
  105. print-atalk.c
  106. print-atm.c
  107. print-beep.c
  108. print-bfd.c
  109. print-bgp.c
  110. print-bootp.c
  111. print-bt.c
  112. print-cdp.c
  113. print-cfm.c
  114. print-chdlc.c
  115. print-cip.c
  116. print-cnfp.c
  117. print-dccp.c
  118. print-decnet.c
  119. print-dhcp6.c
  120. print-domain.c
  121. print-dtp.c
  122. print-dvmrp.c
  123. print-eap.c
  124. print-egp.c
  125. print-eigrp.c
  126. print-enc.c
  127. print-esp.c
  128. print-ether.c
  129. print-fddi.c
  130. print-forces.c
  131. print-fr.c
  132. print-frag6.c
  133. print-gre.c
  134. print-hsrp.c
  135. print-icmp.c
  136. print-icmp6.c
  137. print-igmp.c
  138. print-igrp.c
  139. print-ip.c
  140. print-ip6.c
  141. print-ip6opts.c
  142. print-ipcomp.c
  143. print-ipfc.c
  144. print-ipnet.c
  145. print-ipx.c
  146. print-isakmp.c
  147. print-isoclns.c
  148. print-juniper.c
  149. print-krb.c
  150. print-l2tp.c
  151. print-lane.c
  152. print-ldp.c
  153. print-llc.c
  154. print-lldp.c
  155. print-lmp.c
  156. print-lspping.c
  157. print-lwapp.c
  158. print-lwres.c
  159. print-mobile.c
  160. print-mobility.c
  161. print-mpcp.c
  162. print-mpls.c
  163. print-msdp.c
  164. print-netbios.c
  165. print-nfs.c
  166. print-ntp.c
  167. print-null.c
  168. print-olsr.c
  169. print-ospf.c
  170. print-ospf6.c
  171. print-pflog.c
  172. print-pgm.c
  173. print-pim.c
  174. print-ppp.c
  175. print-pppoe.c
  176. print-pptp.c
  177. print-radius.c
  178. print-raw.c
  179. print-rip.c
  180. print-ripng.c
  181. print-rrcp.c
  182. print-rsvp.c
  183. print-rt6.c
  184. print-rx.c
  185. print-sctp.c
  186. print-sflow.c
  187. print-sip.c
  188. print-sl.c
  189. print-sll.c
  190. print-slow.c
  191. print-smb.c
  192. print-snmp.c
  193. print-stp.c
  194. print-sunatm.c
  195. print-sunrpc.c
  196. print-symantec.c
  197. print-syslog.c
  198. print-tcp.c
  199. print-telnet.c
  200. print-tftp.c
  201. print-timed.c
  202. print-token.c
  203. print-udld.c
  204. print-udp.c
  205. print-usb.c
  206. print-vjc.c
  207. print-vqp.c
  208. print-vrrp.c
  209. print-vtp.c
  210. print-wb.c
  211. print-zephyr.c
  212. README
  213. Readme.Win32
  214. route6d.h
  215. rpc_auth.h
  216. rpc_msg.h
  217. rx.h
  218. sctpConstants.h
  219. sctpHeader.h
  220. send-ack.awk
  221. setsignal.c
  222. setsignal.h
  223. signature.c
  224. signature.h
  225. slcompress.h
  226. slip.h
  227. sll.h
  228. smb.h
  229. smbutil.c
  230. stime.awk
  231. strcasecmp.c
  232. tcp.h
  233. tcpdump-stdinc.h
  234. tcpdump.1.in
  235. tcpdump.c
  236. telnet.h
  237. tftp.h
  238. timed.h
  239. TODO
  240. token.h
  241. udp.h
  242. util.c
  243. VERSION
  244. vfprintf.c