# HG changeset patch # User stuefe # Date 1479908025 -3600 # Wed Nov 23 14:33:45 2016 +0100 # Node ID 37d9cb96680e1ab23a0acd0a3ccb8364f8204db5 # Parent ab75b36b1c0ee5185230e88dc5400666749293e6 8167650: NMT should check for invalid MEMFLAGS Reviewed-by: dholmes, mockner, cjplummer diff --git a/src/share/vm/services/nmtCommon.hpp b/src/share/vm/services/nmtCommon.hpp --- a/src/share/vm/services/nmtCommon.hpp +++ b/src/share/vm/services/nmtCommon.hpp @@ -1,5 +1,5 @@ /* - * 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 @@ -55,7 +55,9 @@ public: // Map memory type to index static inline int flag_to_index(MEMFLAGS flag) { - return (flag & 0xff); + const int index = flag & 0xff; + assert(index >= 0 && index < (int)mt_number_of_types, "Index out of bounds"); + return index; } // Map memory type to human readable name @@ -65,6 +67,7 @@ // Map an index to memory type static MEMFLAGS index_to_flag(int index) { + assert(index >= 0 && index < (int) mt_number_of_types, "Index out of bounds"); return (MEMFLAGS)index; }