diff options
-rw-r--r-- | gcc/ChangeLog.apple-ppc | 4 | ||||
-rw-r--r-- | gcc/config/darwin-driver.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc index b7a13436cff..2ffd4446227 100644 --- a/gcc/ChangeLog.apple-ppc +++ b/gcc/ChangeLog.apple-ppc @@ -1,3 +1,7 @@ +2004-10-14 Robert Bowdidge <bowdidge@apple.com> + * config/darwin-driver.c: Remove off-by-one error in QA_OVERIDE... + machinery. + 2004-10-15 Fariborz Jahanian <fjahanian@apple.com> Radar 3719208 diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c index de648c8b6a9..a1e6d3e3f75 100644 --- a/gcc/config/darwin-driver.c +++ b/gcc/config/darwin-driver.c @@ -785,7 +785,7 @@ void read_args (int argc, char **argv) arg_array = (char**) malloc(sizeof(char*)*arg_array_size); for (i=0;i<argc;i++) { - arg_array[i] = malloc (strlen (argv[i])); + arg_array[i] = malloc (strlen (argv[i])+1); strcpy (arg_array[i], argv[i]); } } @@ -794,7 +794,7 @@ void read_args (int argc, char **argv) void insert_arg(int pos, char *arg_to_insert) { int i; - char *newArg = malloc (strlen (arg_to_insert)); + char *newArg = malloc (strlen (arg_to_insert)+1); strcpy(newArg, arg_to_insert); if (arg_count == arg_array_size) { @@ -816,7 +816,7 @@ void insert_arg(int pos, char *arg_to_insert) void replace_arg (char *str, int pos) { - char *newArg = malloc(strlen(str)); + char *newArg = malloc(strlen(str)+1); strcpy(newArg,str); if (confirm_changes) @@ -828,7 +828,7 @@ void replace_arg (char *str, int pos) { void append_arg (char *str) { - char *new_arg = malloc (strlen (str)); + char *new_arg = malloc (strlen (str)+1); strcpy (new_arg, str); if (confirm_changes) fprintf(stderr,"### Adding argument %s at end\n", str); @@ -862,7 +862,7 @@ void delete_arg(int pos) { void replace_optimization_level (char *new_level) { int i; int optionFound = 0; - char *new_opt = malloc(strlen(new_opt)+2); + char *new_opt = malloc(strlen(new_opt)+3); sprintf(new_opt, "-O%s",new_level); |