[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30116: [PATCH] `substitute' crashes when file contains NUL character
From: |
Maxim Cournoyer |
Subject: |
bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates) |
Date: |
Sun, 14 Jan 2018 20:27:57 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
I've encountered the following crash when trying to use substitute on a
file which contains NUL characters:
--8<---------------cut here---------------start------------->8---
(define problematic-file "/tmp/bp-image-data.el")
scheme@(guix build utils)> ,m (guix build utils)
scheme@(guix build utils)> (substitute* problematic-file
(("toto") "tata"))
ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
string contains #\nul character:
"\"II*\x00(\x03\x00\x00����������@@@@����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����BBBB��������������������@@@@����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����BBBB������������\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����BBBB����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x10\x10\x10\x10����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x10\x10\x10\x10����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x10\x10\x10\x10����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����>>>>����<<<<����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����>>>>��������������������<<<<����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x01����\x01\x01\x01\x01����\x04\x04\x04\x04����>>>>������������������������������������<<<<����\x0f\x0f\x0f\x0f����\x0f\x0f\x0f\x0f����\x0f\x0f\x0f\x0f����>>>>��������������������������\x14\x00\x00\x01\x03\x00\x01\x00\x00\x00\n"
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guix build utils) [1]> ,bt
In ice-9/boot-9.scm:
841:4 9 (with-throw-handler _ _ _)
In ice-9/ports.scm:
444:17 8 (call-with-input-file _ _ #:binary _ #:encoding _ #:guess-encoding
_)
In guix/build/utils.scm:
609:26 7 (_ _)
635:26 6 (_ #<input: /tmp/bp-image-data.el 14> #<input-output:
/tmp/bp-image-data.el.qVytzo 13>)
In srfi/srfi-1.scm:
466:18 5 (fold #<procedure 7f29b8929520 at guix/build/utils.scm:635:32 (r+p
line)> "\"II*\x00(\x03\x00\x00���…" …)
In guix/build/utils.scm:
638:37 4 (_ _
"\"II*\x00(\x03\x00\x00����������@@@@����\x04\x04\x04\x04����\x01\x01\x01\x01����\x01\x01\x01\x0…")
In ice-9/regex.scm:
189:12 3 (list-matches _ _ _)
177:19 2 (fold-matches _
"\"II*\x00(\x03\x00\x00����������@@@@����\x04\x04\x04\x04����\x01\x01\x01\x01����\x0…"
…)
In unknown file:
1 (regexp-exec #<regexp 51f3bc0>
"\"II*\x00(\x03\x00\x00����������@@@@����\x04\x04\x04\x04����\x01\x01…" …)
In ice-9/boot-9.scm:
752:25 0 (dispatch-exception _ _ _)
--8<---------------cut here---------------end--------------->8---
That file comes from emacs-realgud, which I'm attempting to package:
https://github.com/realgud/realgud/blob/master/realgud/common/bp-image-data.el.
This was discovered when the patch-el-files phase of the
emacs-build-system crashed as above when it called substitute*.
Patch to follow.
Maxim
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates),
Maxim Cournoyer <=
- Message not available
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/16
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/20
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Mark H Weaver, 2018/01/21
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/22
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/22
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/23
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/25
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/25