< prev index next >

src/hotspot/share/memory/universe.cpp

Print this page
rev 52814 : 8214773: Replace use of thread unsafe strtok
Reviewed-by:

*** 1116,1127 **** const char delimiter[] = " ,"; size_t length = strlen(VerifySubSet); char* subset_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal); strncpy(subset_list, VerifySubSet, length + 1); ! char* token = strtok(subset_list, delimiter); while (token != NULL) { if (strcmp(token, "threads") == 0) { verify_flags |= Verify_Threads; } else if (strcmp(token, "heap") == 0) { verify_flags |= Verify_Heap; --- 1116,1128 ---- const char delimiter[] = " ,"; size_t length = strlen(VerifySubSet); char* subset_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal); strncpy(subset_list, VerifySubSet, length + 1); + char* save_ptr; ! char* token = strtok_r(subset_list, delimiter, &save_ptr); while (token != NULL) { if (strcmp(token, "threads") == 0) { verify_flags |= Verify_Threads; } else if (strcmp(token, "heap") == 0) { verify_flags |= Verify_Heap;
*** 1142,1152 **** } else if (strcmp(token, "codecache_oops") == 0) { verify_flags |= Verify_CodeCacheOops; } else { vm_exit_during_initialization(err_msg("VerifySubSet: \'%s\' memory sub-system is unknown, please correct it", token)); } ! token = strtok(NULL, delimiter); } FREE_C_HEAP_ARRAY(char, subset_list); } bool Universe::should_verify_subset(uint subset) { --- 1143,1153 ---- } else if (strcmp(token, "codecache_oops") == 0) { verify_flags |= Verify_CodeCacheOops; } else { vm_exit_during_initialization(err_msg("VerifySubSet: \'%s\' memory sub-system is unknown, please correct it", token)); } ! token = strtok_r(NULL, delimiter, &save_ptr); } FREE_C_HEAP_ARRAY(char, subset_list); } bool Universe::should_verify_subset(uint subset) {
< prev index next >