fix mem leak with local BASH_REMATCH

This commit is contained in:
Chet Ramey
2022-06-03 11:33:35 -04:00
parent eed646cc60
commit ebeba87477
16 changed files with 3081 additions and 2932 deletions
+153 -146
View File
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.2, 2 May 2022).
Bash shell (version 5.2, 3 June 2022).
This is Edition 5.2, last updated 2 May 2022, of 'The GNU Bash
This is Edition 5.2, last updated 3 June 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2022 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.2, 2 May 2022). The Bash home page is
Bash shell (version 5.2, 3 June 2022). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.2, last updated 2 May 2022, of 'The GNU Bash
This is Edition 5.2, last updated 3 June 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
@@ -1144,6 +1144,9 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev:
is the portion of the string matching the Nth parenthesized
subexpression.
Bash sets 'BASH_REMATCH' in the global scope; declaring it as a
local variable will lead to unexpected results.
Expressions may be combined using the following operators, listed
in decreasing order of precedence:
@@ -6148,14 +6151,15 @@ Invoked by remote shell daemon
..............................
Bash attempts to determine when it is being run with its standard input
connected to a network connection, as when executed by the remote shell
daemon, usually 'rshd', or the secure shell daemon 'sshd'. If Bash
determines it is being run in this fashion, it reads and executes
commands from '~/.bashrc', if that file exists and is readable. It will
not do this if invoked as 'sh'. The '--norc' option may be used to
inhibit this behavior, and the '--rcfile' option may be used to force
another file to be read, but neither 'rshd' nor 'sshd' generally invoke
the shell with those options or allow them to be specified.
connected to a network connection, as when executed by the historical
remote shell daemon, usually 'rshd', or the secure shell daemon 'sshd'.
If Bash determines it is being run non-interactively in this fashion, it
reads and executes commands from '~/.bashrc', if that file exists and is
readable. It will not do this if invoked as 'sh'. The '--norc' option
may be used to inhibit this behavior, and the '--rcfile' option may be
used to force another file to be read, but neither 'rshd' nor 'sshd'
generally invoke the shell with those options or allow them to be
specified.
Invoked with unequal effective and real UID/GIDs
................................................
@@ -7652,8 +7656,11 @@ File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Pre
suspend [-f]
Suspend the execution of this shell until it receives a 'SIGCONT'
signal. A login shell cannot be suspended; the '-f' option can be
used to override this and force the suspension.
signal. A login shell, or a shell without job control enabled,
cannot be suspended; the '-f' option can be used to override this
and force the suspension. The return status is 0 unless the shell
is a login shell or job control is not enabled and '-f' is not
supplied.
When job control is not active, the 'kill' and 'wait' builtins do not
accept JOBSPEC arguments. They must be supplied process IDs.
@@ -12501,138 +12508,138 @@ D.5 Concept Index

Tag Table:
Node: Top882
Node: Introduction2787
Node: What is Bash?3000
Node: What is a shell?4111
Node: Definitions6646
Node: Basic Shell Features9594
Node: Shell Syntax10810
Node: Shell Operation11833
Node: Quoting13123
Node: Escape Character14424
Node: Single Quotes14906
Node: Double Quotes15251
Node: ANSI-C Quoting16526
Node: Locale Translation17833
Node: Creating Internationalized Scripts19141
Node: Comments23255
Node: Shell Commands23870
Node: Reserved Words24805
Node: Simple Commands25558
Node: Pipelines26209
Node: Lists29205
Node: Compound Commands30997
Node: Looping Constructs32006
Node: Conditional Constructs34498
Node: Command Grouping48839
Node: Coprocesses50314
Node: GNU Parallel52974
Node: Shell Functions53888
Node: Shell Parameters61770
Node: Positional Parameters66155
Node: Special Parameters67054
Node: Shell Expansions70265
Node: Brace Expansion72389
Node: Tilde Expansion75120
Node: Shell Parameter Expansion77738
Node: Command Substitution96086
Node: Arithmetic Expansion97438
Node: Process Substitution98403
Node: Word Splitting99520
Node: Filename Expansion101461
Node: Pattern Matching104207
Node: Quote Removal108861
Node: Redirections109153
Node: Executing Commands118810
Node: Simple Command Expansion119477
Node: Command Search and Execution121584
Node: Command Execution Environment123959
Node: Environment126991
Node: Exit Status128651
Node: Signals130432
Node: Shell Scripts133878
Node: Shell Builtin Commands136902
Node: Bourne Shell Builtins138937
Node: Bash Builtins160395
Node: Modifying Shell Behavior191248
Node: The Set Builtin191590
Node: The Shopt Builtin202188
Node: Special Builtins218097
Node: Shell Variables219073
Node: Bourne Shell Variables219507
Node: Bash Variables221608
Node: Bash Features254421
Node: Invoking Bash255431
Node: Bash Startup Files261441
Node: Interactive Shells266541
Node: What is an Interactive Shell?266948
Node: Is this Shell Interactive?267594
Node: Interactive Shell Behavior268406
Node: Bash Conditional Expressions272032
Node: Shell Arithmetic276671
Node: Aliases279612
Node: Arrays282222
Node: The Directory Stack288610
Node: Directory Stack Builtins289391
Node: Controlling the Prompt293648
Node: The Restricted Shell296610
Node: Bash POSIX Mode299217
Node: Shell Compatibility Mode311138
Node: Job Control319164
Node: Job Control Basics319621
Node: Job Control Builtins324620
Node: Job Control Variables330017
Node: Command Line Editing331170
Node: Introduction and Notation332838
Node: Readline Interaction334458
Node: Readline Bare Essentials335646
Node: Readline Movement Commands337426
Node: Readline Killing Commands338383
Node: Readline Arguments340298
Node: Searching341339
Node: Readline Init File343522
Node: Readline Init File Syntax344780
Node: Conditional Init Constructs367976
Node: Sample Init File372169
Node: Bindable Readline Commands375290
Node: Commands For Moving376491
Node: Commands For History378539
Node: Commands For Text383530
Node: Commands For Killing387176
Node: Numeric Arguments390206
Node: Commands For Completion391342
Node: Keyboard Macros395530
Node: Miscellaneous Commands396214
Node: Readline vi Mode402150
Node: Programmable Completion403054
Node: Programmable Completion Builtins410831
Node: A Programmable Completion Example421523
Node: Using History Interactively426767
Node: Bash History Facilities427448
Node: Bash History Builtins430450
Node: History Interaction435455
Node: Event Designators439072
Node: Word Designators440423
Node: Modifiers442180
Node: Installing Bash443988
Node: Basic Installation445122
Node: Compilers and Options448841
Node: Compiling For Multiple Architectures449579
Node: Installation Names451269
Node: Specifying the System Type453375
Node: Sharing Defaults454088
Node: Operation Controls454758
Node: Optional Features455713
Node: Reporting Bugs466928
Node: Major Differences From The Bourne Shell468200
Node: GNU Free Documentation License485047
Node: Indexes510221
Node: Builtin Index510672
Node: Reserved Word Index517496
Node: Variable Index519941
Node: Function Index536712
Node: Concept Index550493
Node: Top884
Node: Introduction2791
Node: What is Bash?3004
Node: What is a shell?4115
Node: Definitions6650
Node: Basic Shell Features9598
Node: Shell Syntax10814
Node: Shell Operation11837
Node: Quoting13127
Node: Escape Character14428
Node: Single Quotes14910
Node: Double Quotes15255
Node: ANSI-C Quoting16530
Node: Locale Translation17837
Node: Creating Internationalized Scripts19145
Node: Comments23259
Node: Shell Commands23874
Node: Reserved Words24809
Node: Simple Commands25562
Node: Pipelines26213
Node: Lists29209
Node: Compound Commands31001
Node: Looping Constructs32010
Node: Conditional Constructs34502
Node: Command Grouping48966
Node: Coprocesses50441
Node: GNU Parallel53101
Node: Shell Functions54015
Node: Shell Parameters61897
Node: Positional Parameters66282
Node: Special Parameters67181
Node: Shell Expansions70392
Node: Brace Expansion72516
Node: Tilde Expansion75247
Node: Shell Parameter Expansion77865
Node: Command Substitution96213
Node: Arithmetic Expansion97565
Node: Process Substitution98530
Node: Word Splitting99647
Node: Filename Expansion101588
Node: Pattern Matching104334
Node: Quote Removal108988
Node: Redirections109280
Node: Executing Commands118937
Node: Simple Command Expansion119604
Node: Command Search and Execution121711
Node: Command Execution Environment124086
Node: Environment127118
Node: Exit Status128778
Node: Signals130559
Node: Shell Scripts134005
Node: Shell Builtin Commands137029
Node: Bourne Shell Builtins139064
Node: Bash Builtins160522
Node: Modifying Shell Behavior191375
Node: The Set Builtin191717
Node: The Shopt Builtin202315
Node: Special Builtins218224
Node: Shell Variables219200
Node: Bourne Shell Variables219634
Node: Bash Variables221735
Node: Bash Features254548
Node: Invoking Bash255558
Node: Bash Startup Files261568
Node: Interactive Shells266696
Node: What is an Interactive Shell?267103
Node: Is this Shell Interactive?267749
Node: Interactive Shell Behavior268561
Node: Bash Conditional Expressions272187
Node: Shell Arithmetic276826
Node: Aliases279767
Node: Arrays282377
Node: The Directory Stack288765
Node: Directory Stack Builtins289546
Node: Controlling the Prompt293803
Node: The Restricted Shell296765
Node: Bash POSIX Mode299372
Node: Shell Compatibility Mode311293
Node: Job Control319319
Node: Job Control Basics319776
Node: Job Control Builtins324775
Node: Job Control Variables330342
Node: Command Line Editing331495
Node: Introduction and Notation333163
Node: Readline Interaction334783
Node: Readline Bare Essentials335971
Node: Readline Movement Commands337751
Node: Readline Killing Commands338708
Node: Readline Arguments340623
Node: Searching341664
Node: Readline Init File343847
Node: Readline Init File Syntax345105
Node: Conditional Init Constructs368301
Node: Sample Init File372494
Node: Bindable Readline Commands375615
Node: Commands For Moving376816
Node: Commands For History378864
Node: Commands For Text383855
Node: Commands For Killing387501
Node: Numeric Arguments390531
Node: Commands For Completion391667
Node: Keyboard Macros395855
Node: Miscellaneous Commands396539
Node: Readline vi Mode402475
Node: Programmable Completion403379
Node: Programmable Completion Builtins411156
Node: A Programmable Completion Example421848
Node: Using History Interactively427092
Node: Bash History Facilities427773
Node: Bash History Builtins430775
Node: History Interaction435780
Node: Event Designators439397
Node: Word Designators440748
Node: Modifiers442505
Node: Installing Bash444313
Node: Basic Installation445447
Node: Compilers and Options449166
Node: Compiling For Multiple Architectures449904
Node: Installation Names451594
Node: Specifying the System Type453700
Node: Sharing Defaults454413
Node: Operation Controls455083
Node: Optional Features456038
Node: Reporting Bugs467253
Node: Major Differences From The Bourne Shell468525
Node: GNU Free Documentation License485372
Node: Indexes510546
Node: Builtin Index510997
Node: Reserved Word Index517821
Node: Variable Index520266
Node: Function Index537037
Node: Concept Index550818

End Tag Table