8013574: PrintMalloc conflicts with the command line parsing
Make sure that _num_jvm_args is not updated until the new entry to _jvm_args_array has been added Reviewed-by: johnc, tamao, tschatzl
This commit is contained in:
parent
10be07bb9d
commit
d08bf8d1be
@ -747,16 +747,16 @@ void Arguments::add_string(char*** bldarray, int* count, const char* arg) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int index = *count;
|
int new_count = *count + 1;
|
||||||
|
|
||||||
// expand the array and add arg to the last element
|
// expand the array and add arg to the last element
|
||||||
(*count)++;
|
|
||||||
if (*bldarray == NULL) {
|
if (*bldarray == NULL) {
|
||||||
*bldarray = NEW_C_HEAP_ARRAY(char*, *count, mtInternal);
|
*bldarray = NEW_C_HEAP_ARRAY(char*, new_count, mtInternal);
|
||||||
} else {
|
} else {
|
||||||
*bldarray = REALLOC_C_HEAP_ARRAY(char*, *bldarray, *count, mtInternal);
|
*bldarray = REALLOC_C_HEAP_ARRAY(char*, *bldarray, new_count, mtInternal);
|
||||||
}
|
}
|
||||||
(*bldarray)[index] = strdup(arg);
|
(*bldarray)[*count] = strdup(arg);
|
||||||
|
*count = new_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Arguments::build_jvm_args(const char* arg) {
|
void Arguments::build_jvm_args(const char* arg) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user