On Wed, Feb 26, 2020 at 6:41 PM Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > > (+Josh Steadmon, fuzz testing specialist) > Han-Wen Nienhuys wrote: > > > You have convinced me that we should go with the 4-byte identifier. > > > > How about setting version=2 and extending the header by 4 bytes (which hold > > the 4-byte identifier). The footer would also be increased in size. > > SGTM. > > > BTW, could we document that a reftable consisting of just a footer is a > > valid table too? > > Yes, SGTM as well. > > Do you have sample reftables collected somewhere that you use for > testing? Asking since that would help us set up some fuzz tests. :) No, but the library is standalone, so writing fuzz tests should be easy. The C code is essentially a copy of the Go code, so you could start fuzzing there. I believe it is really easy to setup fuzzing in Go, and we could generate a corpus starting there. On a related note, I should write interoperation tests that pass tables back and forth between, JGit, C and Go, but I'm currently focusing on getting the code ready for git-core. -- Han-Wen Nienhuys - Google Munich I work 80%. Don't expect answers from me on Fridays. -- Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Paul Manicle, Halimah DeLaine Prado