From fac49b83755ef6cf667b5e356de3e7168cef5d86 Mon Sep 17 00:00:00 2001 From: Coleen Phillimore Date: Mon, 2 Oct 2023 18:50:08 +0000 Subject: [PATCH] 8317331: Solaris build failed with "declaration can not follow a statement (E_DECLARATION_IN_CODE)" Backport-of: 852276d1f833d49802693f2a5a82ba6eb2722de6 --- src/java.base/share/native/libverify/check_code.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/java.base/share/native/libverify/check_code.c b/src/java.base/share/native/libverify/check_code.c index 3e0e20b2693..d1ebd3d5b94 100644 --- a/src/java.base/share/native/libverify/check_code.c +++ b/src/java.base/share/native/libverify/check_code.c @@ -1678,12 +1678,13 @@ static int instruction_length(unsigned char *iptr, unsigned char *end) switch (instruction) { case JVM_OPC_tableswitch: { int *lpc = (int *)UCALIGN(iptr + 1); + int64_t low, high, index; if (lpc + 2 >= (int *)end) { return -1; /* do not read pass the end */ } - int64_t low = _ck_ntohl(lpc[1]); - int64_t high = _ck_ntohl(lpc[2]); - int64_t index = high - low; + low = _ck_ntohl(lpc[1]); + high = _ck_ntohl(lpc[2]); + index = high - low; // The value of low must be less than or equal to high - i.e. index >= 0 if ((index < 0) || (index > 65535)) { return -1; /* illegal */