src/hotspot/share/compiler/directivesParser.cpp
changeset 53266 57d8566a2732
parent 52290 db83eceba962
--- 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;