Commit Graph

39 Commits

Author SHA1 Message Date
tv 259a2ab95f Add some more bits of host compatibility. 2002-02-26 22:29:38 +00:00
tv 9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv 7f8540d87f Add hooks to make this compilable from src/tools/compat. 2002-01-28 23:50:09 +00:00
christos 78cf9b7cc7 using -Wcast-qual and -Wwrite-strings reveals that we need to use const
char * when we pass "" as an argument to a function. Too bad that they
produce too many other spurious warnings too.
2001-11-28 22:31:39 +00:00
christos 3911c122ef add fts_safe_changedir() function and use it everywhere.
Idea from Todd Miller <millert@openbsd.org>
2001-07-09 21:33:03 +00:00
christos e4ad645398 oops, make sure we close the file descriptor... 2001-06-06 14:10:46 +00:00
christos 4a37917f04 Fix problem reported by Kris Kennaway <kris@obsecurity.org>; In
the default case fts(3) uses chdir("..") to ascend the tree. The
sequence of chdir's can be intercepted by a malicious user who
moves a subtree that fts is currently traversing to a higher level,
thus making fts operate outside it's original starting directory.
2001-06-05 17:05:11 +00:00
christos 119c9cb003 add a lint comment. 2000-11-05 20:05:29 +00:00
enami 630f9b81c9 - Test allocation failure.
- Don't leave a pointer dangling on failure case.
- Don't leak a file descriptor on failure case.
2000-08-07 06:08:33 +00:00
enami 2e68d337ae Nuke redundant test (though, gcc optimizer was clever enough not to emit
redundant code).
2000-08-07 06:00:59 +00:00
enami d753bcdd59 - Wrap long lines.
- Protect multi-statement macro with do {} while (0)
2000-08-07 05:56:11 +00:00
mycroft 605490369c Delint.
Remove trailing ; from uses of __weak_alias().  The macro inserts this if
needed.
2000-01-22 22:19:07 +00:00
lukem d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
mycroft 9a255f2ff2 Readd my change from fts.c rev 1.10, which was incorrectly removed in rev 1.19
(HI CHRISTOS!):
Avoid extra stat()s if a link count of 1 is returned for directories but the
d_type field is filled in.
1999-08-27 21:10:46 +00:00
mycroft 4c9100d48f Adjust fts_pow2() for LP64 before Ross bricks me. 1999-08-27 20:02:14 +00:00
mycroft ea03e67f3c GC one line of unneeded code. 1999-08-27 18:33:29 +00:00
mycroft 6b91e1fa70 Fix the comment above fts_palloc().
Also, fail with ENOMEM if fts_pathlen would overflow, rather than silently truncating the
path.
1999-08-27 18:29:08 +00:00
mycroft 8db2a166f9 Avoid memory leaks when realloc() fails (by storing the return value in a temporary, and
testing it before assigning it; fts_close(3) will deallocate the old memory).
1999-08-27 18:26:34 +00:00
mycroft b09ec9deb8 Fix multiple problems in the FTS_NOCHDIR case:
* There was an off-by-one error that caused the addition of a NUL or slash in fts_build() to
  overwrite other memory.
* After fts_palloc(), we need to reset `cp' so that it points to the new path name buffer;
  otherwise the addition of the file name before calling fts_stat() could lose.
Also, fix stupidity in the fts_palloc() interface.  We don't want N bytes more than the
current buffer size; we want N bytes more than the current length.  Just pass in the new
size, since we can't figure it out easily here.
1999-08-27 18:01:35 +00:00
mycroft ba3f600103 Allocate the path name buffer by powers of 2. 1999-08-27 06:17:33 +00:00
mycroft 8f599f97a7 Minor change to previous. 1999-08-26 20:28:53 +00:00
mycroft 8873459bcb Fix 3 bugs:
* When not using FTS_NOCHDIR, fts_accpath == fts_name.  fts_padjust should not
  try to move fts_accpath in this case.
* Previous entries at the same level also need to be adjusted.
* A bug was introduced in rev 1.8 (HI CHRISTOS!!) that caused the maxlen
  comparison to always fail (due to type promotions) when sp->fts_pathlen ==
  cur->fts_pathlen -- thus causing memory stompage.
1999-08-26 20:24:59 +00:00
christos 033ffd1215 make this compile under linux too. 1999-06-10 23:40:53 +00:00
christos 3eeda4afc6 Fix gcc-2.8.1 warnings. 1999-03-16 18:13:44 +00:00
thorpej cde86f7e7e Warn about references to the old fts functions, and direct the user to
include <fts.h> to generate the correct references.

Suggestion from Christoph Badura.
1998-12-01 20:13:47 +00:00
christos a5a8f8a117 delint 1998-11-12 16:19:42 +00:00
christos 5ba0b28730 qsort cast. 1998-11-06 19:44:03 +00:00
christos b34c5dd583 minor performance improvement. 1998-11-05 21:26:03 +00:00
christos c74a8268c0 rename len to dlen... 1998-11-05 13:57:22 +00:00
frueauf ac27d3aa85 Make this compile again: dp->dp_namlen -> dp->d_namlen. 1998-11-05 12:52:56 +00:00
christos f9c1a2b905 compile under svr4; no dp->d_namlen, and no whiteouts. 1998-11-03 14:47:03 +00:00
itohy 7b5b0b24ce Fix fts_close() not to (implicitly) read free()'ed memory.
This fix closes PR #6181.
1998-10-17 17:40:44 +00:00
thorpej e79648d085 Add some braces to make egcs happy. 1998-08-18 23:50:08 +00:00
perry 853e41b336 trivial changes to quiet lint. 1998-02-27 18:05:09 +00:00
perry 4146d58604 remove obsolete register declarations 1998-02-03 18:23:37 +00:00
thorpej 38ba03f125 Allow the old-name functions to be compiled from the same source file as
the renamed functions, and add some #error directives to force the
issue with weak symbols for renamed functions when we support weak
symbols in the C library.
1997-10-22 06:37:42 +00:00
fvdl 21e1e24df3 New hacks to make libc work painlessly without bumping the major number:
use type func(arg1s) asm("emitted_name") gcc mechanism.
Suggested by Bill Sommerfeld.
1997-10-22 00:51:45 +00:00
fvdl d6b51107ce Hacks to enable libc to work without bumping the major. 1997-10-21 00:55:10 +00:00