8079841: Buffer underflow with empty zip entry names
Summary: check for zero-length entry name before accessing "last" byte
Reviewed-by: sherman, martin
==== Two-way read-write instance field ====obj1.publicInt = 13: 13bean.publicInt: 13bean.publicInt = 15: 15obj1.publicInt: 15==== Read only public instance field ====obj1.publicFinalInt: 42obj1.publicFinalInt = 16: 16obj1.publicFinalInt: 42bean.publicFinalInt: 42==== Two-way read-write instance property ====obj1.readWrite = 17: 17bean.readWrite: 17bean.readWrite = 18: 18obj1.readWrite: 18obj1.getReadWrite(): 18obj1.setReadWrite(19): undefinedobj1.readWrite: 19bean.readWrite: 19==== Read only instance property ====obj1.readOnly: 123obj1.readOnly = 20: 20obj1.readOnly: 123obj1.getReadOnly(): 123bean.getReadOnly(): 123==== Write only instance property ====obj1.writeOnly = 21: 21obj1.writeOnly: undefinedbean.writeOnly: undefinedbean.peekWriteOnly(): 21==== Two-way read-write public static field ====obj2.publicStaticInt = 22: 22PropertyBind.publicStaticInt: 22PropertyBind.publicStaticInt = 23: 23obj2.publicStaticInt: 23==== Read only public static field ====obj2.publicStaticFinalInt: 2112obj2.publicStaticFinalInt = 24: 24obj2.publicStaticFinalInt: 2112PropertyBind.publicStaticFinalInt: 2112==== Two-way read-write static property ====obj2.staticReadWrite = 25: 25PropertyBind.staticReadWrite: 25PropertyBind.staticReadWrite = 26: 26obj2.staticReadWrite: 26obj2.getStaticReadWrite(): 26obj2.setStaticReadWrite(27): undefinedobj2.staticReadWrite: 27PropertyBind.staticReadWrite: 27==== Read only static property ====obj2.staticReadOnly: 1230obj2.staticReadOnly = 28: 28obj2.staticReadOnly: 1230obj2.getStaticReadOnly(): 1230PropertyBind.getStaticReadOnly(): 1230==== Write only static property ====obj2.staticWriteOnly = 29: 29obj2.staticWriteOnly: undefinedPropertyBind.staticWriteOnly: undefinedPropertyBind.peekStaticWriteOnly(): 29==== Sanity check to ensure property values remained what they were ====obj1.publicInt: 15bean.publicInt: 15obj1.publicFinalInt: 42bean.publicFinalInt: 42obj1.readWrite: 19bean.readWrite: 19obj1.readOnly: 123bean.readOnly: 123bean.peekWriteOnly(): 21obj2.publicStaticInt: 23PropertyBind.publicStaticInt: 23obj2.publicStaticFinalInt: 2112PropertyBind.publicStaticFinalInt: 2112obj2.staticReadWrite: 27PropertyBind.staticReadWrite: 27obj2.staticReadOnly: 1230PropertyBind.staticReadOnly: 1230PropertyBind.peekStaticWriteOnly(): 29