aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog.apple-ppc4
-rw-r--r--gcc/config/darwin-driver.c10
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);