--- a/src/hotspot/share/compiler/directivesParser.cpp Sun Jan 13 17:33:26 2019 +0100
+++ b/src/hotspot/share/compiler/directivesParser.cpp Sun Jan 13 16:54:01 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -94,11 +94,13 @@
if (file_handle != -1) {
// read contents into resource array
char* buffer = NEW_RESOURCE_ARRAY(char, st.st_size+1);
- size_t num_read = os::read(file_handle, (char*) buffer, st.st_size);
- buffer[num_read] = '\0';
- // close file
- os::close(file_handle);
- return parse_string(buffer, stream) > 0;
+ ssize_t num_read = os::read(file_handle, (char*) buffer, st.st_size);
+ if (num_read >= 0) {
+ buffer[num_read] = '\0';
+ // close file
+ os::close(file_handle);
+ return parse_string(buffer, stream) > 0;
+ }
}
}
return false;