--- old/src/os/linux/vm/os_linux.cpp 2011-05-10 11:56:48.413906000 -0700 +++ new/src/os/linux/vm/os_linux.cpp 2011-05-10 11:56:48.213845000 -0700 @@ -2850,7 +2850,7 @@ char chars[257]; long x = 0; if (fgets(chars, sizeof(chars), fp)) { - if (sscanf(chars, "%lx-%*lx", &x) == 1 + if (sscanf(chars, "%lx-%*x", &x) == 1 && x == (long)p) { if (strstr (chars, "hugepage")) { result = true;