45 lines
1.2 KiB
Diff
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
|
|
|