Avoid segfaults by not using snprintf to copy strings.

This commit is contained in:
Matt Kraai 2000-09-19 06:46:44 +00:00
parent 721119e1db
commit 0b2da467a8
3 changed files with 6 additions and 3 deletions

3
lash.c
View File

@ -1023,7 +1023,8 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
/* Make some space to hold just the backticked command */ /* Make some space to hold just the backticked command */
charptr1 = charptr2 = xmalloc(1+ptr-src); charptr1 = charptr2 = xmalloc(1+ptr-src);
snprintf(charptr1, 1+ptr-src, src); memcpy(charptr1, src, ptr-src);
charptr1[ptr-src] = '\0';
newJob = xmalloc(sizeof(struct job)); newJob = xmalloc(sizeof(struct job));
/* Now parse and run the backticked command */ /* Now parse and run the backticked command */
if (!parseCommand(&charptr1, newJob, &njobList, inBg) if (!parseCommand(&charptr1, newJob, &njobList, inBg)

3
sh.c
View File

@ -1023,7 +1023,8 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
/* Make some space to hold just the backticked command */ /* Make some space to hold just the backticked command */
charptr1 = charptr2 = xmalloc(1+ptr-src); charptr1 = charptr2 = xmalloc(1+ptr-src);
snprintf(charptr1, 1+ptr-src, src); memcpy(charptr1, src, ptr-src);
charptr1[ptr-src] = '\0';
newJob = xmalloc(sizeof(struct job)); newJob = xmalloc(sizeof(struct job));
/* Now parse and run the backticked command */ /* Now parse and run the backticked command */
if (!parseCommand(&charptr1, newJob, &njobList, inBg) if (!parseCommand(&charptr1, newJob, &njobList, inBg)

View File

@ -1023,7 +1023,8 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
/* Make some space to hold just the backticked command */ /* Make some space to hold just the backticked command */
charptr1 = charptr2 = xmalloc(1+ptr-src); charptr1 = charptr2 = xmalloc(1+ptr-src);
snprintf(charptr1, 1+ptr-src, src); memcpy(charptr1, src, ptr-src);
charptr1[ptr-src] = '\0';
newJob = xmalloc(sizeof(struct job)); newJob = xmalloc(sizeof(struct job));
/* Now parse and run the backticked command */ /* Now parse and run the backticked command */
if (!parseCommand(&charptr1, newJob, &njobList, inBg) if (!parseCommand(&charptr1, newJob, &njobList, inBg)