* Fix possible memory stomp.

* A few admin file cleanups.
This commit is contained in:
Paul Smith 1999-04-02 06:19:33 +00:00
parent 7052a57152
commit 3d1cdf4106
4 changed files with 37 additions and 6 deletions

View File

@ -1,3 +1,9 @@
1999-04-01 Paul D. Smith <psmith@gnu.org>
* job.c (construct_command_argv_internal): Use bcopy() to copy
overlapping strings, rather than strcpy(). ISO C says the latter
is undefined. Found this in a bug report from 1996! Ouch!
1999-03-31 Paul D. Smith <psmith@gnu.org>
* read.c (readline): Ignore carriage returns at the end of the

7
NEWS
View File

@ -19,11 +19,10 @@ Version 3.78
proceeds normally.
* Make defines a new variable, .LIBPATTERNS. This variable controls how
the link library dependency expansion (dependencies like ``-lfoo'') is
performed.
library dependency expansion (dependencies like ``-lfoo'') is performed.
* Make allows CRLF sequences as well as traditional LF, in makefiles for
UNIX.
* Make allows CRLF sequences as well as traditional LF, for
compatibility with makefiles created on other operating systems.
Version 3.77

View File

@ -3,17 +3,40 @@ All bugs reported for previous releases have been fixed.
Some bugs surely remain.
For general building and installation instructions, see the file INSTALL.
If you need to build GNU Make and have no other `make' program to use,
you can use the shell script `build.sh' instead. To do this, first run
`configure' as described in INSTALL. Then, instead of typing `make' to
build the program, type `sh build.sh'. This should compile the program
in the current directory. Then you will have a Make program that you can
use for `make install', or whatever else.
use for `./make install', or whatever else.
Some systems' Make programs are broken and cannot process the Makefile for
GNU Make. If you get errors from your system's Make when building GNU
Make, try using `build.sh' instead.
GNU make is fully documented in the GNU Make manual, which is contained
in this distribution as the file make.texinfo. You can also find
on-line and preformatted (PostScript and DVI) versions at the FSF's web
site. There is information there about ordering hardcopy documentation.
http://www.gnu.org/
http://www.gnu.org/doc/doc.html
http://www.gnu.org/manual/manual.html
Please send GNU make bug reports to bug-make@gnu.org. Please see the
section of the manual entitles `Problems and Bugs' for information on
submitting bug reports.
If you need help using GNU make, try these forums:
help-make@gnu.org
help-utils@gnu.org
news:gnu.utils.help
news:gnu.utils.bug
Also:
- See README.customs for details on integrating GNU make with the
Customs distributed build environment from the Pmake distribution.

5
job.c
View File

@ -2014,7 +2014,10 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
since it was most likely used to line
up the continued line with the previous one. */
if (*p == '\t')
strcpy (p, p + 1);
/* Note these overlap and strcpy() is undefined for
overlapping objects in ANSI C. The strlen() _IS_ right,
since we need to copy the nul byte too. */
bcopy (p + 1, p, strlen(p));
if (instring)
goto string_char;