Merge pull request #360 from jaberwoky/master

Panic on reading Exif
This commit is contained in:
Tom 2021-08-07 18:02:47 +02:00 committed by GitHub
commit 66447e14d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 2 deletions

View File

@ -246,8 +246,9 @@ func vipsExifOrientation(image *C.VipsImage) int {
}
func vipsExifShort(s string) string {
if strings.Contains(s, " (") {
return s[:strings.Index(s, "(")-1]
i := strings.Index(s, " (")
if i > 0 {
return s[:i]
}
return s
}

View File

@ -219,6 +219,33 @@ func TestVipsMemory(t *testing.T) {
}
}
func TestVipsExifShort(t *testing.T) {
tt := []struct {
input string
expected string
}{
{
input: `( ()`,
expected: `(`,
},
{
input: ` ()`,
expected: ` ()`,
},
{
input: `sRGB`,
expected: `sRGB`,
},
}
for _, tc := range tt {
got := vipsExifShort(tc.input)
if got != tc.expected {
t.Fatalf("expected: %s; got: %s", tc.expected, got)
}
}
}
func readImage(file string) []byte {
img, _ := os.Open(path.Join("testdata", file))
buf, _ := ioutil.ReadAll(img)