--- old/src/share/vm/logging/logFileOutput.cpp 2016-04-19 22:45:26.125865913 +0900 +++ new/src/share/vm/logging/logFileOutput.cpp 2016-04-19 22:45:25.973868146 +0900 @@ -26,6 +26,7 @@ #include "logging/logConfiguration.hpp" #include "logging/logFileOutput.hpp" #include "memory/allocation.inline.hpp" +#include "runtime/arguments.hpp" #include "runtime/os.inline.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/defaultStream.hpp" @@ -187,14 +188,10 @@ } _file_count = static_cast(value); } else if (strcmp(FileSizeOptionKey, key) == 0) { - size_t value = parse_value(value_str); - if (value == SIZE_MAX || value > SIZE_MAX / K) { - errstream->print_cr("Invalid option: %s must be in range [0, " - SIZE_FORMAT "]", FileSizeOptionKey, SIZE_MAX / K); - success = false; + success = Arguments::atojulong(value_str, &_rotate_size); + if (!success) { break; } - _rotate_size = value * K; } else { errstream->print_cr("Invalid option '%s' for log file output.", key); success = false;