# HG changeset patch # User kamg # Date 1339174192 14400 # Node ID 8b8c198ec5c43cd88624be1daace3e4614db2a28 # Parent 84f98de2149371edf2b8c389f22d8617bab38fb8 7158804: Improve config file parsing Summary: Check buffer length when reading Reviewed-by: dholmes, dcubed diff -r 84f98de21493 -r 8b8c198ec5c4 src/share/vm/compiler/compilerOracle.cpp --- a/src/share/vm/compiler/compilerOracle.cpp Wed May 23 12:11:25 2012 -0700 +++ b/src/share/vm/compiler/compilerOracle.cpp Fri Jun 08 12:49:52 2012 -0400 @@ -573,7 +573,7 @@ char token[1024]; int pos = 0; int c = getc(stream); - while(c != EOF && pos < (sizeof(token)-1)) { + while(c != EOF && pos < (int)(sizeof(token)-1)) { if (c == '\n') { token[pos++] = '\0'; parse_from_line(token); @@ -594,7 +594,7 @@ int pos = 0; const char* sp = str; int c = *sp++; - while (c != '\0' && pos < (sizeof(token)-1)) { + while (c != '\0' && pos < (int)(sizeof(token)-1)) { if (c == '\n') { token[pos++] = '\0'; parse_line(token); diff -r 84f98de21493 -r 8b8c198ec5c4 src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Wed May 23 12:11:25 2012 -0700 +++ b/src/share/vm/runtime/arguments.cpp Fri Jun 08 12:49:52 2012 -0400 @@ -842,7 +842,7 @@ bool result = true; int c = getc(stream); - while(c != EOF) { + while(c != EOF && pos < (int)(sizeof(token)-1)) { if (in_white_space) { if (in_comment) { if (c == '\n') in_comment = false;