Merge pull request #3170 from chengzhichao-xydt/codex/base64-encoder-close-clean
fix(agent): close base64 encoder on io.Copy error path
This commit is contained in:
commit
5feeb91c60
1 changed files with 11 additions and 3 deletions
|
|
@ -172,14 +172,22 @@ func encodeImageToDataURL(localPath, mime string, info os.FileInfo, maxSize int)
|
|||
buf.WriteString(prefix)
|
||||
|
||||
encoder := base64.NewEncoder(base64.StdEncoding, &buf)
|
||||
if _, err := io.Copy(encoder, f); err != nil {
|
||||
_, copyErr := io.Copy(encoder, f)
|
||||
closeErr := encoder.Close()
|
||||
if copyErr != nil {
|
||||
logger.WarnCF("agent", "Failed to encode media file", map[string]any{
|
||||
"path": localPath,
|
||||
"error": err.Error(),
|
||||
"error": copyErr.Error(),
|
||||
})
|
||||
return ""
|
||||
}
|
||||
if closeErr != nil {
|
||||
logger.WarnCF("agent", "Failed to close base64 encoder", map[string]any{
|
||||
"path": localPath,
|
||||
"error": closeErr.Error(),
|
||||
})
|
||||
return ""
|
||||
}
|
||||
encoder.Close()
|
||||
|
||||
return buf.String()
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue