--- old/src/share/vm/logging/logFileOutput.cpp 2016-03-30 22:57:37.987642095 +0900 +++ new/src/share/vm/logging/logFileOutput.cpp 2016-03-30 22:57:37.826642213 +0900 @@ -116,12 +116,7 @@ _archive_name_len = 2 + strlen(_file_name) + _file_count_max_digits; _archive_name = NEW_C_HEAP_ARRAY(char, _archive_name_len, mtLogging); } else if (strcmp(FileSizeOptionKey, key) == 0) { - size_t value = parse_value(value_str); - if (value == SIZE_MAX || value > SIZE_MAX / K) { - success = false; - break; - } - _rotate_size = value * K; + success = Arguments::atomull(value_str, &_rotate_size); } else { success = false; break; --- old/src/share/vm/runtime/arguments.cpp 2016-03-30 22:57:38.588641657 +0900 +++ new/src/share/vm/runtime/arguments.cpp 2016-03-30 22:57:38.410641787 +0900 @@ -786,7 +786,7 @@ } // Parses a memory size specification string. -static bool atomull(const char *s, julong* result) { +bool Arguments::atomull(const char *s, julong* result) { julong n = 0; int args_read = 0; bool is_hex = false; @@ -900,7 +900,7 @@ value++; is_neg = true; } - if (!atomull(value, &v)) { + if (!Arguments::atomull(value, &v)) { return false; } if (result->is_int()) { @@ -2640,7 +2640,7 @@ if (value_is_positive) { julong n; - bool good_return = atomull(value, &n); + bool good_return = Arguments::atomull(value, &n); if (good_return) { bool above_minimum = n >= min_size; bool value_is_too_large = n > max_uintx; @@ -2657,7 +2657,7 @@ Arguments::ArgsRange Arguments::parse_memory_size(const char* s, julong* long_arg, julong min_size) { - if (!atomull(s, long_arg)) return arg_unreadable; + if (!Arguments::atomull(s, long_arg)) return arg_unreadable; return check_memory_size(*long_arg, min_size); } --- old/src/share/vm/runtime/arguments.hpp 2016-03-30 22:57:39.310641130 +0900 +++ new/src/share/vm/runtime/arguments.hpp 2016-03-30 22:57:39.143641252 +0900 @@ -730,6 +730,8 @@ static bool copy_expand_pid(const char* src, size_t srclen, char* buf, size_t buflen); static void check_unsupported_dumping_properties() NOT_CDS_RETURN; + + static bool atomull(const char *s, julong* result); }; // Disable options not supported in this release, with a warning if they