Bash-5.0 patch 8: fix history offset when HISTSIZE == 0 that can lead to crashes
This commit is contained in:
parent
3ba697465b
commit
01323582f7
2 changed files with 5 additions and 2 deletions
|
@ -560,15 +560,18 @@ pre_process_line (line, print_changes, addit)
|
|||
add that line to the history if ADDIT is non-zero. */
|
||||
if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
|
||||
{
|
||||
int old_len;
|
||||
|
||||
/* If we are expanding the second or later line of a multi-line
|
||||
command, decrease history_length so references to history expansions
|
||||
in these lines refer to the previous history entry and not the
|
||||
current command. */
|
||||
old_len = history_length;
|
||||
if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
|
||||
history_length--;
|
||||
expanded = history_expand (line, &history_value);
|
||||
if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
|
||||
history_length++;
|
||||
history_length = old_len;
|
||||
|
||||
if (expanded)
|
||||
{
|
||||
|
|
|
@ -25,6 +25,6 @@
|
|||
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
#define PATCHLEVEL 7
|
||||
#define PATCHLEVEL 8
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
|
|
Loading…
Add table
Reference in a new issue