@@ -1832,13 +1832,11 @@ func BenchmarkDecode(b *testing.B) {
18321832func TestPointerTraverseDefense (t * testing.T ) {
18331833 t .Parallel ()
18341834 const limit = 128
1835- msg := & capnp.Message {
1836- Arena : capnp .SingleSegment ([]byte {
1837- 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , // root 1-word struct pointer to next word
1838- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // struct's data
1839- }),
1840- TraverseLimit : limit * 8 ,
1841- }
1835+ msg , _ := capnp .NewSingleSegmentMessage ([]byte {
1836+ 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , // root 1-word struct pointer to next word
1837+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // struct's data
1838+ })
1839+ msg .TraverseLimit = limit * 8
18421840
18431841 for i := 0 ; i < limit ; i ++ {
18441842 _ , err := msg .Root ()
@@ -1855,13 +1853,11 @@ func TestPointerTraverseDefense(t *testing.T) {
18551853func TestPointerDepthDefense (t * testing.T ) {
18561854 t .Parallel ()
18571855 const limit = 64
1858- msg := & capnp.Message {
1859- Arena : capnp .SingleSegment ([]byte {
1860- 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , // root 1-pointer struct pointer to next word
1861- 0xfc , 0xff , 0xff , 0xff , 0 , 0 , 1 , 0 , // root struct pointer that points back to itself
1862- }),
1863- DepthLimit : limit ,
1864- }
1856+ msg , _ := capnp .NewSingleSegmentMessage ([]byte {
1857+ 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , // root 1-pointer struct pointer to next word
1858+ 0xfc , 0xff , 0xff , 0xff , 0 , 0 , 1 , 0 , // root struct pointer that points back to itself
1859+ })
1860+ msg .DepthLimit = limit
18651861 root , err := msg .Root ()
18661862 if err != nil {
18671863 t .Fatal ("Root:" , err )
@@ -1894,14 +1890,12 @@ func TestPointerDepthDefense(t *testing.T) {
18941890func TestPointerDepthDefenseAcrossStructsAndLists (t * testing.T ) {
18951891 t .Parallel ()
18961892 const limit = 63
1897- msg := & capnp.Message {
1898- Arena : capnp .SingleSegment ([]byte {
1899- 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , // root 1-pointer struct pointer to next word
1900- 0x01 , 0 , 0 , 0 , 0x0e , 0 , 0 , 0 , // list pointer to 1-element list of pointer (next word)
1901- 0xf8 , 0xff , 0xff , 0xff , 0 , 0 , 1 , 0 , // struct pointer to previous word
1902- }),
1903- DepthLimit : limit ,
1904- }
1893+ msg , _ := capnp .NewSingleSegmentMessage ([]byte {
1894+ 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , // root 1-pointer struct pointer to next word
1895+ 0x01 , 0 , 0 , 0 , 0x0e , 0 , 0 , 0 , // list pointer to 1-element list of pointer (next word)
1896+ 0xf8 , 0xff , 0xff , 0xff , 0 , 0 , 1 , 0 , // struct pointer to previous word
1897+ })
1898+ msg .DepthLimit = limit
19051899
19061900 toStruct := func (p capnp.Ptr , err error ) (capnp.Struct , error ) {
19071901 if err != nil {
@@ -2083,11 +2077,10 @@ func TestSetEmptyTextWithDefault(t *testing.T) {
20832077
20842078func TestFuzzedListOutOfBounds (t * testing.T ) {
20852079 t .Parallel ()
2086- msg := & capnp.Message {
2087- Arena : capnp .SingleSegment ([]byte (
2088- "\x00 \x00 \x00 \x00 \x03 \x00 \x01 \x00 \x0f \x00 0000000000" +
2089- "000000000000\x01 \x00 \x00 \x00 \x13 \x00 \x00 \x00 0\x00 \x00 \x00 \x00 \x00 \x00 \x00 " )),
2090- }
2080+ msg , _ := capnp .NewSingleSegmentMessage ([]byte (
2081+ "\x00 \x00 \x00 \x00 \x03 \x00 \x01 \x00 \x0f \x00 0000000000" +
2082+ "000000000000\x01 \x00 \x00 \x00 \x13 \x00 \x00 \x00 0\x00 \x00 \x00 \x00 \x00 \x00 \x00 " ))
2083+
20912084 z , err := air .ReadRootZ (msg )
20922085 if err != nil {
20932086 t .Fatal ("ReadRootZ:" , err )
0 commit comments