< prev index next >

src/share/vm/services/nmtCommon.hpp

Print this page
rev 12318 : 8167650: NMT should check for invalid MEMFLAGS
Reviewed-by: dholmes, mockner, cjplummer

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2016, 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
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -58,15 +58,18 @@
     return (flag & 0xff);
   }
 
   // Map memory type to human readable name
   static const char* flag_to_name(MEMFLAGS flag) {
-    return _memory_type_names[flag_to_index(flag)];
+    int index = flag_to_index(flag);
+    assert(index >= 0 && index < mt_number_of_types, "Index out of bound.");
+    return _memory_type_names[index];
   }
 
   // Map an index to memory type
   static MEMFLAGS index_to_flag(int index) {
+    assert(index >= 0 && index < mt_number_of_types, "Index out of bound.");
     return (MEMFLAGS)index;
   }
 
   // Memory size scale
   static const char* scale_name(size_t scale);
< prev index next >