# HG changeset patch # User Richard Lowe # Date 1327210533 0 # Node ID fc320b2833d3e1944f3592c0363353bf0132b1c7 # Parent fabd461f883f07d83306936d1cab565ca5552316 2018 makedbm overwrites and overflows constant string Reviewed by: Robert Mustacchi Reviewed by: Garrett D'Amore Reviewed by: Joshua M. Clulow Approved by: Gordon Ross diff -r fabd461f883f -r fc320b2833d3 usr/src/cmd/ypcmd/makedbm.c --- a/usr/src/cmd/ypcmd/makedbm.c Mon May 16 05:36:40 2011 +0100 +++ b/usr/src/cmd/ypcmd/makedbm.c Sun Jan 22 05:35:33 2012 +0000 @@ -33,8 +33,6 @@ * California. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #undef NULL #include #include @@ -128,7 +126,7 @@ char *last_slash, *next_to_last_slash; char *infilename, *outfilename, *mastername, *domainname, *interdomain_bind, *security, *lower_case_keys; - char *key_sep = DEFAULT_SEP; + char key_sep[] = DEFAULT_SEP; char local_host[MAX_MASTER_NAME]; int cnt, i; DBM *fdb; @@ -179,14 +177,14 @@ security = argv[0]; break; case 'S' : - strcpy(key_sep, argv[1]); - argv++; - argc--; - if (strlen(key_sep) != 1) { + if (strlen(argv[1]) != 1) { fprintf(stderr, "bad separator\n"); usage(); } + key_sep[0] = argv[1][0]; + argv++; + argc--; break; case 'D' : num_del_to_match = atoi(argv[1]);