< prev index next >
src/jdk.pack200/share/native/common-unpack/unpack.cpp
Print this page
rev 16214 : 8170663: Fix minor issues in corelib and servicabilty coding.
Reviewed-by: dsamersoff, dholmes
Contributed-by: David CARLIER <devnexen@gmail.com>, goetz.lindenmaier@sap.com
*** 2291,2304 ****
// n = (<pkg>/)*<outer>$<name>
dollar1 = dollar2;
number.set(null,0);
name = n.slice(dollar2+1, nlen);
}
! if (number.ptr == null)
pkgOuter = n.slice(0, dollar1);
! else
pkgOuter.set(null,0);
PRINTCR((5,"=> %s$ 0%s $%s",
pkgOuter.string(), number.string(), name.string()));
if (pkgOuter.ptr != null)
ics[i].outer = cp.ensureClass(pkgOuter);
--- 2291,2309 ----
// n = (<pkg>/)*<outer>$<name>
dollar1 = dollar2;
number.set(null,0);
name = n.slice(dollar2+1, nlen);
}
! if (number.ptr == null) {
! if (dollar1 < 0) {
! abort();
! return;
! }
pkgOuter = n.slice(0, dollar1);
! } else {
pkgOuter.set(null,0);
+ }
PRINTCR((5,"=> %s$ 0%s $%s",
pkgOuter.string(), number.string(), name.string()));
if (pkgOuter.ptr != null)
ics[i].outer = cp.ensureClass(pkgOuter);
*** 4195,4204 ****
--- 4200,4210 ----
case bc_byte_escape:
{
// Note that insnMap has one entry for all these bytes.
--wp; // not really part of the code
int size = bc_escsize.getInt();
+ if (size < 0) { assert(false); continue; }
ensure_put_space(size);
for (int j = 0; j < size; j++)
putu1_fast(bc_escbyte.getByte());
continue;
}
< prev index next >