I wrote a simple test case for the USB decoder that the offset of a given packet plus the length did not exceed the offset of the next packet. However, when I tried this on my own data I found that this did not hold true.
Here is a link to the modified usbcsv example with the test, and here is a link to the 7z that contains the csv in question. Be careful as the CSV is almost 2GB.