--- Begin Message ---
Subject: |
27.0.50; call-interactively reads uninitialized memory |
Date: |
Sat, 06 Jan 2018 12:31:51 +0100 |
When passing a byte that would start a multibyte sequence,
`call-interactively` uses STRING_CHAR without checking whether the
entire multibyte sequence is actually part of the string. For example:
$ emacs -batch -nw -Q -eval '(call-interactively (lambda () (interactive
"\xFF")))'
Invalid control letter ‘’ (#o775776, #x3fbfe) in interactive calling string
In GNU Emacs 27.0.50 (build 4, x86_64-apple-darwin17.3.0, NS appkit-1561.20
Version 10.13.2 (Build 17C88))
of 2018-01-02 built on p
Repository revision: 1330afd3debc5a0d5d7d58a5db3f73f84b04be26
Windowing system distributor 'Apple', version 10.3.1561
System Description: Mac OS X 10.13.2
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS JSON
Important settings:
value of $LANG: de_DE.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote kqueue cocoa ns
multi-tty make-network-process emacs)
Memory information:
((conses 16 204460 8792)
(symbols 48 20150 1)
(miscs 40 43 191)
(strings 32 28872 1632)
(string-bytes 1 770467)
(vectors 16 35128)
(vector-slots 8 719016 12086)
(floats 8 48 68)
(intervals 56 197 0)
(buffers 992 11))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#30004: 27.0.50; call-interactively reads uninitialized memory |
Date: |
Sat, 06 Jan 2018 18:26:04 +0200 |
> From: Philipp Stephani <address@hidden>
> Date: Sat, 06 Jan 2018 16:03:44 +0000
> Cc: address@hidden
>
> Eli Zaretskii <address@hidden> schrieb am Sa., 6. Jan. 2018 um 16:56 Uhr:
>
> > From: Philipp <address@hidden>
> > Date: Sat, 06 Jan 2018 12:31:51 +0100
> >
> > When passing a byte that would start a multibyte sequence,
> > `call-interactively` uses STRING_CHAR without checking whether the
> > entire multibyte sequence is actually part of the string. For example:
> >
> > $ emacs -batch -nw -Q -eval '(call-interactively (lambda () (interactive
> "\xFF")))'
> > Invalid control letter ‘’ (#o775776, #x3fbfe) in interactive calling
> string
>
> Thanks for catching this. Does the patch below fix this?
>
> Yes, with that patch Valgrind doesn't find any errors any more.
Thanks, pushed to the emacs-26 branch.
--- End Message ---