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;
|
||||
}
|
||||
|
||||
int index = *count;
|
||||
int new_count = *count + 1;
|
||||
|
||||
// expand the array and add arg to the last element
|
||||
(*count)++;
|
||||
if (*bldarray == NULL) {
|
||||
*bldarray = NEW_C_HEAP_ARRAY(char*, *count, mtInternal);
|
||||
*bldarray = NEW_C_HEAP_ARRAY(char*, new_count, mtInternal);
|
||||
} 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) {
|
||||
|
Loading…
Reference in New Issue
Block a user