Deleted Added
full compact
FIXES (125601) FIXES (146299)
1/****************************************************************
2Copyright (C) Lucent Technologies 1997
3All Rights Reserved
4
5Permission to use, copy, modify, and distribute this software and
6its documentation for any purpose and without fee is hereby
7granted, provided that the above copyright notice appear in all
8copies and that both that the copyright notice and this

--- 11 unchanged lines hidden (view full) ---

20IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22THIS SOFTWARE.
23****************************************************************/
24
25This file lists all bug fixes, changes, etc., made since the AWK book
26was sent to the printers in August, 1987.
27
1/****************************************************************
2Copyright (C) Lucent Technologies 1997
3All Rights Reserved
4
5Permission to use, copy, modify, and distribute this software and
6its documentation for any purpose and without fee is hereby
7granted, provided that the above copyright notice appear in all
8copies and that both that the copyright notice and this

--- 11 unchanged lines hidden (view full) ---

20IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22THIS SOFTWARE.
23****************************************************************/
24
25This file lists all bug fixes, changes, etc., made since the AWK book
26was sent to the printers in August, 1987.
27
28Apr 24, 2005:
29 modified lib.c so that values of $0 et al are preserved in the END
30 block, apparently as required by posix. thanks to havard eidnes
31 for the report and code.
32
33Jan 14, 2005:
34 fixed infinite loop in parsing, originally found by brian tsang.
35 thanks to arnold robbins for a suggestion that started me
36 rethinking it.
37
38Dec 31, 2004:
39 prevent overflow of -f array in main, head off potential error in
40 call of SYNTAX(), test malloc return in lib.c, all with thanks to
41 todd miller.
42
43Dec 22, 2004:
44 cranked up size of NCHARS; coverity thinks it can be overrun with
45 smaller size, and i think that's right. added some assertions to b.c
46 to catch places where it might overrun. the RE code is still fragile.
47
48Dec 5, 2004:
49 fixed a couple of overflow problems with ridiculous field numbers:
50 e.g., print $(2^32-1). thanks to ruslan ermilov, giorgos keramidas
51 and david o'brien at freebsd.org for patches. this really should
52 be re-done from scratch.
53
54Nov 21, 2004:
55 fixed another 25-year-old RE bug, in split. it's another failure
56 to (re-)initialize. thanks to steve fisher for spotting this and
57 providing a good test case.
58
28Nov 22, 2003:
29 fixed a bug in regular expressions that dates (so help me) from 1977;
30 it's been there from the beginning. an anchored longest match that
31 was longer than the number of states triggered a failure to initialize
32 the machine properly. many thanks to moinak ghosh for not only finding
33 this one but for providing a fix, in some of the most mysterious
34 code known to man.
35

--- 181 unchanged lines hidden (view full) ---

217 Santiago Vila <sanvila@unex.es> for the bug report.
218
219Apr 21, 2000:
220 finally found and fixed a memory leak in function call; it's
221 been there since functions were added ~1983. thanks to
222 jon bentley for the test case that found it.
223
224 added test in envinit to catch environment "variables" with
59Nov 22, 2003:
60 fixed a bug in regular expressions that dates (so help me) from 1977;
61 it's been there from the beginning. an anchored longest match that
62 was longer than the number of states triggered a failure to initialize
63 the machine properly. many thanks to moinak ghosh for not only finding
64 this one but for providing a fix, in some of the most mysterious
65 code known to man.
66

--- 181 unchanged lines hidden (view full) ---

248 Santiago Vila <sanvila@unex.es> for the bug report.
249
250Apr 21, 2000:
251 finally found and fixed a memory leak in function call; it's
252 been there since functions were added ~1983. thanks to
253 jon bentley for the test case that found it.
254
255 added test in envinit to catch environment "variables" with
225 names begining with '='; thanks to Berend Hasselman.
256 names beginning with '='; thanks to Berend Hasselman.
226
227Jul 28, 1999:
228 added test in defn() to catch function foo(foo), which
229 otherwise recurses until core dump. thanks to arnold
230 robbins for noticing this.
231
232Jun 20, 1999:
233 added *bp in gettok in lex.c; appears possible to exit function

--- 220 unchanged lines hidden (view full) ---

454
455 small fixes to regexpr code: can now handle []], [[], and
456 variants; [] is now a syntax error, rather than matching
457 everything; [z-a] is now empty, not z. far from complete
458 or correct, however. (thanks to jeffrey friedl for pointing out
459 some awful behaviors.)
460
461Apr 29, 1996:
257
258Jul 28, 1999:
259 added test in defn() to catch function foo(foo), which
260 otherwise recurses until core dump. thanks to arnold
261 robbins for noticing this.
262
263Jun 20, 1999:
264 added *bp in gettok in lex.c; appears possible to exit function

--- 220 unchanged lines hidden (view full) ---

485
486 small fixes to regexpr code: can now handle []], [[], and
487 variants; [] is now a syntax error, rather than matching
488 everything; [z-a] is now empty, not z. far from complete
489 or correct, however. (thanks to jeffrey friedl for pointing out
490 some awful behaviors.)
491
492Apr 29, 1996:
462 replaced uchar by uschar everwhere; apparently some compilers
493 replaced uchar by uschar everywhere; apparently some compilers
463 usurp this name and this causes conflicts.
464
465 fixed call to time in run.c (bltin); arg is time_t *.
466
467 replaced horrible pointer/long punning in b.c by a legitimate
468 union. should be safer on 64-bit machines and cleaner everywhere.
469 (thanks to nelson beebe for pointing out some of these problems.)
470

--- 387 unchanged lines hidden ---
494 usurp this name and this causes conflicts.
495
496 fixed call to time in run.c (bltin); arg is time_t *.
497
498 replaced horrible pointer/long punning in b.c by a legitimate
499 union. should be safer on 64-bit machines and cleaner everywhere.
500 (thanks to nelson beebe for pointing out some of these problems.)
501

--- 387 unchanged lines hidden ---