< prev index next >
src/jdk.pack200/share/native/common-unpack/unpack.cpp
Print this page
rev 16271 : 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,14 +2291,19 @@
// n = (<pkg>/)*<outer>$<name>
dollar1 = dollar2;
number.set(null,0);
name = n.slice(dollar2+1, nlen);
}
- if (number.ptr == null)
+ if (number.ptr == null) {
+ if (dollar1 < 0) {
+ abort();
+ return;
+ }
pkgOuter = n.slice(0, dollar1);
- else
+ } 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,10 +4200,11 @@
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 >