diff --git a/cross_language_tests/boxer_cross_test.go b/cross_language_tests/boxer_cross_test.go index 9065dbf..b08fcf5 100644 --- a/cross_language_tests/boxer_cross_test.go +++ b/cross_language_tests/boxer_cross_test.go @@ -345,20 +345,14 @@ func TestBoxerMaxSize(t *testing.T) { t.Parallel() dir := t.TempDir() - responseTo := ulid.New() - ciphertext, err := aliceBoxer.Encode(responseTo, tooBigBytes) - require.NoError(t, err) - - var png bytes.Buffer pngFile := path.Join(dir, ulid.New()+".png") - require.NoError(t, krypto.ToPngNoMaxSize(&png, tooBigBytes)) //#nosec G306 -- Need readable files - require.NoError(t, os.WriteFile(pngFile, png.Bytes(), 0644)) + require.NoError(t, os.WriteFile(pngFile, []byte(tooBigBytesB64), 0644)) tests := []boxerCrossTestCase{ - {Key: bobPem.Bytes(), Counterparty: alicePubPem.Bytes(), Ciphertext: ciphertext, cmd: "decode"}, - {Key: bobPem.Bytes(), Counterparty: alicePubPem.Bytes(), Ciphertext: ciphertext, cmd: "decodeunverified"}, - {Key: bobPem.Bytes(), Ciphertext: ciphertext, cmd: "decodeunverified"}, + {Key: bobPem.Bytes(), Counterparty: alicePubPem.Bytes(), Ciphertext: tooBigBytesB64, cmd: "decode"}, + {Key: bobPem.Bytes(), Counterparty: alicePubPem.Bytes(), Ciphertext: tooBigBytesB64, cmd: "decodeunverified"}, + {Key: bobPem.Bytes(), Ciphertext: tooBigBytesB64, cmd: "decodeunverified"}, {Key: bobPem.Bytes(), Counterparty: alicePubPem.Bytes(), PngFile: pngFile, cmd: "decodepng"}, } diff --git a/png.go b/png.go index ec6dcdd..f541c3a 100644 --- a/png.go +++ b/png.go @@ -20,7 +20,12 @@ const ( V0MaxSize = 4 * 1024 * 1024 ) -func ToPngNoMaxSize(w io.Writer, data []byte) error { +func ToPng(w io.Writer, data []byte) error { + dataSize := len(data) + if dataSize > V0MaxSize { + return fmt.Errorf("data too big: %d is bigger than %d", dataSize, V0MaxSize) + } + pixelCount := divCeil(len(data), usableBytesPerPixel) pixelCount = pixelCount + pixelsInHeader + 1 @@ -60,15 +65,6 @@ func ToPngNoMaxSize(w io.Writer, data []byte) error { return encoder.Encode(w, img) } -func ToPng(w io.Writer, data []byte) error { - dataSize := len(data) - if dataSize > V0MaxSize { - return fmt.Errorf("data too big: %d is bigger than %d", dataSize, V0MaxSize) - } - - return ToPngNoMaxSize(w, data) -} - func FromPng(r io.Reader, w io.Writer) error { imgRaw, _, err := image.Decode(r) if err != nil {