aerc/open-only-use-part-basename-for-temp-file.patch
2025-06-05 09:18:56 +02:00

45 lines
1.2 KiB
Diff

From 93bec0de8ed5ab3d6b1f01026fe2ef20fa154329 Mon Sep 17 00:00:00 2001
From: Robin Jarry <robin@jarry.cc>
Date: Wed, 9 Apr 2025 10:49:24 +0200
Subject: [PATCH aerc] open: only use part basename for temp file
When an attachment part has a name such as "/tmp/55208186_AllDocs.pdf",
aerc creates a temp folder and tries to store the file by blindly
concatenating the path as follows:
/tmp/aerc-3444057757/tmp/55208186_AllDocs.pdf
And when writing to this path, it gets a "No such file or directory"
error because the intermediate "tmp" subfolder isn't created.
Reported-by: Erik Colson <eco@ecocode.net>
Signed-off-by: Robin Jarry <robin@jarry.cc>
---
commands/msgview/open.go | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/commands/msgview/open.go b/commands/msgview/open.go
index 4293b7e4892c..a6e43cb8da5f 100644
--- a/commands/msgview/open.go
+++ b/commands/msgview/open.go
@@ -5,6 +5,7 @@ import (
"io"
"mime"
"os"
+ "path"
"path/filepath"
"git.sr.ht/~rjarry/aerc/app"
@@ -56,7 +57,7 @@ func (o Open) Execute(args []string) error {
app.PushError(err.Error())
return
}
- filename := part.FileName()
+ filename := path.Base(part.FileName())
var tmpFile *os.File
if filename == "" {
extension := ""
--
2.49.0