From f4157efcb98f7604d3c994d8d267925d223882a4 Mon Sep 17 00:00:00 2001 From: Ashley Svetlik Date: Fri, 14 Jun 2019 11:46:13 -0500 Subject: [PATCH] Added Licensing --- roaring/fuzz_test.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 roaring/fuzz_test.go diff --git a/roaring/fuzz_test.go b/roaring/fuzz_test.go new file mode 100644 index 000000000..b11d00337 --- /dev/null +++ b/roaring/fuzz_test.go @@ -0,0 +1,44 @@ +// Copyright 2017 Pilosa Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package roaring + +import ( + "testing" +) + +func TestUnmarshalBinary(t *testing.T) { + b := NewBitmap() + confirmedCrashers := []struct { + cr []byte + expected string + } { + { + cr : []byte(":0\x000\x01\x00\x00\x000000"), //":000000" + expected : "reading roaring header: malformed bitmap, key-cardinality slice overruns buffer at 12", + }, + { + cr : []byte("<0\x000\x00\x00\x00\x00000000000000" + + "0"), //"<000000000000000" + expected : "unmarshaling as pilosa roaring: too big", + }, + } + + for _, crash := range confirmedCrashers { + err := b.UnmarshalBinary(crash.cr) + if err.Error() != crash.expected { + t.Errorf("Expected: %s, Got: %s", crash.expected, err) + } + } + +} \ No newline at end of file