From 5329ff37f27804cf290f81e20db6c6509183fa4a Mon Sep 17 00:00:00 2001 From: kris Date: Mon, 20 Aug 2001 09:43:04 +0000 Subject: Don't overflow a buffer from command line arguments. MFC after: 2 weeks --- usr.bin/rpcgen/rpc_main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'usr.bin') diff --git a/usr.bin/rpcgen/rpc_main.c b/usr.bin/rpcgen/rpc_main.c index 5c0752b..30eb21c 100644 --- a/usr.bin/rpcgen/rpc_main.c +++ b/usr.bin/rpcgen/rpc_main.c @@ -1236,8 +1236,12 @@ parseargs(argc, argv, cmd) if (++i == argc) { return (0); } - (void) strcpy(pathbuf, argv[i]); - (void) strcat(pathbuf, "/cpp"); + (void) strlcpy(pathbuf, argv[i], sizeof(pathbuf)); + if (strlcat(pathbuf, "/cpp", sizeof(pathbuf)) + >= sizeof(pathbuf)) { + warnx("argument too long"); + return (0); + } CPP = pathbuf; cppDefined = 1; goto nextarg; -- cgit v1.1