From 992ec096332c31f64e8cff66e20d2ab87708485f Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sun, 21 Dec 2008 06:05:12 +0000 Subject: [PATCH] rxgen-cpp-definition-20081221 LICENSE MIT FIXES 124011 avoid "ologo" compilation error messages due to buffer overflow in rxgen on Windows. research performed by mlane@sinenomine.net. --- src/rxgen/rpc_main.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/rxgen/rpc_main.c b/src/rxgen/rpc_main.c index e2d2b563b..5cb1f7a9b 100644 --- a/src/rxgen/rpc_main.c +++ b/src/rxgen/rpc_main.c @@ -94,11 +94,15 @@ char xflag = 0; /* if set, add stats code to stubs */ char yflag = 0; /* if set, only emit function name arrays to xdr file */ int debug = 0; static char *cmdname; +#ifdef AFS_NT40_ENV +static char *CPP = NULL; +#else /* AFS_NT40_ENV */ #ifdef PATH_CPP static char CPP[] = PATH_CPP; #else static char CPP[] = "/lib/cpp"; #endif +#endif /* AFS_NT40_ENV */ static char CPPFLAGS[] = "-C"; #ifdef AFS_ALPHA_ENV @@ -144,16 +148,14 @@ int main(int argc, char *argv[]) { struct commandline cmd; -#ifdef AFS_NT40_ENV - char *ep; - /* initialize CPP with the correct pre-processor on NT */ - ep = getenv("RXGEN_CPPCMD"); - if (ep) - strcpy(CPP, ep); - else - strcpy(CPP, "cl /EP /C /nologo"); -#endif +#ifdef AFS_NT40_ENV + /* initialize CPP with the correct pre-processor for Windows */ + CPP = getenv("RXGEN_CPPCMD"); + if (!CPP) + CPP = "cl /EP /C /nologo"; +#endif /* AFS_NT40_ENV */ + #ifdef AFS_AIX32_ENV /* * The following signal action for AIX is necessary so that in case of a -- 2.39.5