diff options
author | peter <peter@FreeBSD.org> | 2004-06-10 19:12:50 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-06-10 19:12:50 +0000 |
commit | b04a2d6a7a439dce932f5799009e4ff4e3e29e18 (patch) | |
tree | 535be444311d48c9bcacc8d5224f809d39b3c52a /contrib/cvs/src/filesubr.c | |
parent | 1ca65160a61129882a143f867124863e87679616 (diff) | |
download | FreeBSD-src-b04a2d6a7a439dce932f5799009e4ff4e3e29e18.zip FreeBSD-src-b04a2d6a7a439dce932f5799009e4ff4e3e29e18.tar.gz |
Merge 1.11.15+ -> 1.11.17 changes onto mainline. I've left cvs.1 alone
for now.
Diffstat (limited to 'contrib/cvs/src/filesubr.c')
-rw-r--r-- | contrib/cvs/src/filesubr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/cvs/src/filesubr.c b/contrib/cvs/src/filesubr.c index bf5be5e..b9f9bd5 100644 --- a/contrib/cvs/src/filesubr.c +++ b/contrib/cvs/src/filesubr.c @@ -1033,8 +1033,14 @@ expand_wild (argc, argv, pargc, pargv) char ***pargv; { int i; + if (size_overflow_p (xtimes (argc, sizeof (char *)))) { + *pargc = 0; + *pargv = NULL; + error (0, 0, "expand_wild: too many arguments"); + return; + } *pargc = argc; - *pargv = (char **) xmalloc (argc * sizeof (char *)); + *pargv = xmalloc (xtimes (argc, sizeof (char *))); for (i = 0; i < argc; ++i) (*pargv)[i] = xstrdup (argv[i]); } |