diff --git a/src/client/attachment.go b/src/client/attachment.go index a51d902..5688506 100644 --- a/src/client/attachment.go +++ b/src/client/attachment.go @@ -44,6 +44,9 @@ func (attachmentEntry *AttachmentEntry) extractMetaData(attachmentData string) { } attachmentEntry.Base64 = attachmentData[base64FlagIndex+len("base64,"):] + if base64FlagIndex == 0 { + return + } metaDataKeys := map[string]string{ "data:": "MimeInfo", "filename=": "FileName", diff --git a/src/client/attachment_test.go b/src/client/attachment_test.go index 8e4e711..1482ad2 100644 --- a/src/client/attachment_test.go +++ b/src/client/attachment_test.go @@ -45,6 +45,9 @@ func Test_Attachment_ExtractMetadata_ShouldPrepareDataFor_toDataForSignal(t *tes { "-base64 +data +filename", "data:someData;filename=file.name;INVALIDMTIzNDU=", false, "data:someData;filename=file.name;INVALIDMTIzNDU=", false, "", "", "data:someData;filename=file.name;INVALIDMTIzNDU=", }, + { + "base64 prefix at start +data", "base64,data:someData", false, "data:someData", false, "", "", "data:someData", + }, } attachmentTmp := flag.String("attachment-tmp-dir", string(os.PathSeparator)+"tmp"+string(os.PathSeparator), "Attachment tmp directory")