* PATCH: 3.0.6-pre-4: Sneaky history bug
@ 1999-06-16 6:47 Bart Schaefer
0 siblings, 0 replies; only message in thread
From: Bart Schaefer @ 1999-06-16 6:47 UTC (permalink / raw)
To: zsh-workers
Start with an empty history, as with "zsh -f" or a non-login shell, and
then try to do a "quick substitution" on the nonexistent previous command
using the second character in $histchars (usually '^'). I found myself
in hend() with chwordpos == -2, which did all sorts of fun things when
memcpy was called with chwordpos * sizeof(short) as its third parameter.
I think only Wayne really knows what's going on in the code below, but
this patch at least seems to prevent zsh committing hara-kiri. You end
up with an empty entry in the history, though.
Index: Src/hist.c
===================================================================
@@ -719,7 +719,7 @@
}
#endif
/* get rid of pesky \n which we've already nulled out */
- if (!chline[chwords[chwordpos-2]])
+ if (chwordpos > 1 && !chline[chwords[chwordpos-2]])
chwordpos -= 2;
/* strip superfluous blanks, if desired */
if (isset(HISTREDUCEBLANKS))
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-06-16 6:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-06-16 6:47 PATCH: 3.0.6-pre-4: Sneaky history bug Bart Schaefer
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).