Merge pull request #854 from SAY-5/fix-attachment-base64-prefix-oob

fix: prevent slice out of range when attachment data starts with base64,
This commit is contained in:
Bernhard B. 2026-05-26 22:50:03 +02:00 committed by GitHub
commit d4e8664273
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View File

@ -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",

View File

@ -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")