--- Begin Message ---
Subject: |
Emacs 23.2 [windows] - Buffer overrun bug with ebrowse.exe |
Date: |
Fri, 19 Nov 2010 16:39:49 -0800 |
When the input file ends with a C++ style "//" comment line, without a
newline at the end, the parser will attempt to read past the end of
the input buffer. This produces undefined results, among them putting
the parser in a bogus state that makes all subsequent input files
parse incorrectly. Here's a possible fix:
--- old/ebrowse.c 2010-04-03 15:26:07 -0700
+++ new/ebrowse.c 2010-11-19 16:36:13 -0800
@@ -1784,6 +1784,10 @@
case '/':
while (GET (c) && c != '\n')
;
+
+ if (c == 0)
+ return YYEOF;
+
INCREMENT_LINENO;
break;
I'm not subscribed to the list. Please direct any follow up questions
directly to my email.
Thanks,
Joe
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#7446: Emacs 23.2 [windows] - Buffer overrun bug with ebrowse.exe |
Date: |
Sat, 27 Nov 2010 11:32:03 +0200 |
> Date: Fri, 19 Nov 2010 16:39:49 -0800
> From: Joe Matarazzo <address@hidden>
> Cc:
>
> When the input file ends with a C++ style "//" comment line, without a
> newline at the end, the parser will attempt to read past the end of
> the input buffer. This produces undefined results, among them putting
> the parser in a bogus state that makes all subsequent input files
> parse incorrectly. Here's a possible fix:
Thanks, I applied this patch to the Emacs 23 branch.
--- End Message ---