summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-08-03 10:58:02 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-08-03 11:00:26 -0400
commitd0e8fa3bb2475187fbf9fcfe73c38ec83ad7e6b5 (patch)
tree626d5bce954d1cb10d766855ffd82cb96ef45e42
parent06cc7c8820aea85d1329911b785d7bf4ecaacb1f (diff)
downloadb4-d0e8fa3bb2475187fbf9fcfe73c38ec83ad7e6b5.tar.gz
Sanitize msgid before using it as savename
Before using the msgid as part of the filename, clean it up to only contains sensible characters. Reported-by: Rob Herring <robherring2@gmail.com> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r--b4/mbox.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/b4/mbox.py b/b4/mbox.py
index f575f94..3d887e6 100644
--- a/b4/mbox.py
+++ b/b4/mbox.py
@@ -656,7 +656,8 @@ def main(cmdargs):
if cmdargs.wantname:
savename = os.path.join(cmdargs.outdir, cmdargs.wantname)
else:
- savename = os.path.join(cmdargs.outdir, f'{msgid}.{dftext}')
+ safe_msgid = re.sub(r'[^\w@.+%-]+', '_', msgid).strip('_')
+ savename = os.path.join(cmdargs.outdir, f'{safe_msgid}.{dftext}')
if save_maildir:
if os.path.isdir(savename):