< 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 >