|
|
|
@ -7,10 +7,11 @@
|
|
|
|
|
8074839: Resolve disabled warnings for libunpack and the unpack200 binary
|
|
|
|
|
Reviewed-by: dholmes, ksrini
|
|
|
|
|
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
|
|
|
|
|
index bdaf95a2f6a..60c5b4f2a69 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h
|
|
|
|
|
@@ -63,7 +63,7 @@
|
|
|
|
|
@@ -63,7 +63,7 @@ struct bytes {
|
|
|
|
|
bytes res;
|
|
|
|
|
res.ptr = ptr + beg;
|
|
|
|
|
res.len = end - beg;
|
|
|
|
@ -19,10 +20,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openj
|
|
|
|
|
return res;
|
|
|
|
|
}
|
|
|
|
|
// building C strings inside byte buffers:
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
|
|
|
|
|
index 5fbc7261fb3..4c002e779d8 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
|
|
|
|
|
@@ -292,7 +292,7 @@
|
|
|
|
|
@@ -292,7 +292,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject
|
|
|
|
|
|
|
|
|
|
if (uPtr->aborting()) {
|
|
|
|
|
THROW_IOE(uPtr->get_abort_message());
|
|
|
|
@ -31,16 +33,16 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openj
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// We have fetched all the files.
|
|
|
|
|
@@ -310,7 +310,7 @@
|
|
|
|
|
JNIEXPORT jlong JNICALL
|
|
|
|
|
Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) {
|
|
|
|
|
unpacker* uPtr = get_unpacker(env, pObj, false);
|
|
|
|
|
@@ -312,7 +312,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) {
|
|
|
|
|
// There's no need to create a new unpacker here if we don't already have one
|
|
|
|
|
// just to immediatly free it afterwards.
|
|
|
|
|
unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true);
|
|
|
|
|
- CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL);
|
|
|
|
|
+ CHECK_EXCEPTION_RETURN_VALUE(uPtr, 0);
|
|
|
|
|
size_t consumed = uPtr->input_consumed();
|
|
|
|
|
// free_unpacker() will set the unpacker field on 'pObj' to null
|
|
|
|
|
free_unpacker(env, pObj, uPtr);
|
|
|
|
|
return consumed;
|
|
|
|
|
@@ -320,6 +320,7 @@
|
|
|
|
|
@@ -323,6 +323,7 @@ JNIEXPORT jboolean JNICALL
|
|
|
|
|
Java_com_sun_java_util_jar_pack_NativeUnpack_setOption(JNIEnv *env, jobject pObj,
|
|
|
|
|
jstring pProp, jstring pValue) {
|
|
|
|
|
unpacker* uPtr = get_unpacker(env, pObj);
|
|
|
|
@ -48,10 +50,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openj
|
|
|
|
|
const char* prop = env->GetStringUTFChars(pProp, JNI_FALSE);
|
|
|
|
|
CHECK_EXCEPTION_RETURN_VALUE(prop, false);
|
|
|
|
|
const char* value = env->GetStringUTFChars(pValue, JNI_FALSE);
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
|
|
|
|
|
index 6fbc43a18ae..722c8baaff0 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
|
|
|
|
|
@@ -142,31 +142,28 @@
|
|
|
|
|
@@ -142,31 +142,28 @@ static const char* nbasename(const char* progname) {
|
|
|
|
|
return progname;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -101,10 +104,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp open
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
|
|
|
|
|
index 56f391b1e87..f0a25f8cd20 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
|
|
|
|
|
@@ -222,9 +222,9 @@
|
|
|
|
|
@@ -225,9 +225,9 @@ struct entry {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef PRODUCT
|
|
|
|
@ -116,7 +120,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -715,13 +715,13 @@
|
|
|
|
|
@@ -718,13 +718,13 @@ void unpacker::read_file_header() {
|
|
|
|
|
// Now we can size the whole archive.
|
|
|
|
|
// Read everything else into a mega-buffer.
|
|
|
|
|
rp = hdr.rp;
|
|
|
|
@ -134,7 +138,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
abort("EOF reading fixed input buffer");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@@ -735,7 +735,7 @@
|
|
|
|
|
@@ -738,7 +738,7 @@ void unpacker::read_file_header() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
input.set(U_NEW(byte, add_size(header_size_0, archive_size, C_SLOP)),
|
|
|
|
@ -143,7 +147,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
CHECK;
|
|
|
|
|
assert(input.limit()[0] == 0);
|
|
|
|
|
// Move all the bytes we read initially into the real buffer.
|
|
|
|
|
@@ -958,13 +958,13 @@
|
|
|
|
|
@@ -961,13 +961,13 @@ void cpool::init(unpacker* u_, int counts[CONSTANT_Limit]) {
|
|
|
|
|
nentries = next_entry;
|
|
|
|
|
|
|
|
|
|
// place a limit on future CP growth:
|
|
|
|
@ -159,7 +163,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
|
|
|
|
|
// Note that this CP does not include "empty" entries
|
|
|
|
|
// for longs and doubles. Those are introduced when
|
|
|
|
|
@@ -982,8 +982,9 @@
|
|
|
|
|
@@ -985,8 +985,9 @@ void cpool::init(unpacker* u_, int counts[CONSTANT_Limit]) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Initialize *all* our entries once
|
|
|
|
@ -170,7 +174,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
|
|
|
|
|
initGroupIndexes();
|
|
|
|
|
// Initialize hashTab to a generous power-of-two size.
|
|
|
|
|
@@ -3677,21 +3678,22 @@
|
|
|
|
|
@@ -3681,21 +3682,22 @@ void cpool::computeOutputIndexes() {
|
|
|
|
|
|
|
|
|
|
unpacker* debug_u;
|
|
|
|
|
|
|
|
|
@ -197,7 +201,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
case CONSTANT_Signature:
|
|
|
|
|
if (value.b.ptr == null)
|
|
|
|
|
return ref(0)->string();
|
|
|
|
|
@@ -3711,26 +3713,28 @@
|
|
|
|
|
@@ -3715,26 +3717,28 @@ char* entry::string() {
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
if (nrefs == 0) {
|
|
|
|
@ -235,10 +239,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void print_cp_entries(int beg, int end) {
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
|
|
|
|
|
index cec7a88b24e..ed5f3336a59 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h
|
|
|
|
|
@@ -209,7 +209,7 @@
|
|
|
|
|
@@ -209,7 +209,7 @@ struct unpacker {
|
|
|
|
|
byte* rp; // read pointer (< rplimit <= input.limit())
|
|
|
|
|
byte* rplimit; // how much of the input block has been read?
|
|
|
|
|
julong bytes_read;
|
|
|
|
@ -247,10 +252,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h open
|
|
|
|
|
|
|
|
|
|
// callback to read at least one byte, up to available input
|
|
|
|
|
typedef jlong (*read_input_fn_t)(unpacker* self, void* buf, jlong minlen, jlong maxlen);
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
|
|
|
|
|
index e5197e1a3f1..40a10055ea5 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp
|
|
|
|
|
@@ -81,7 +81,7 @@
|
|
|
|
|
@@ -81,7 +81,7 @@ void breakpoint() { } // hook for debugger
|
|
|
|
|
int assert_failed(const char* p) {
|
|
|
|
|
char message[1<<12];
|
|
|
|
|
sprintf(message, "@assert failed: %s\n", p);
|
|
|
|
@ -259,10 +265,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp ope
|
|
|
|
|
breakpoint();
|
|
|
|
|
unpack_abort(message);
|
|
|
|
|
return 0;
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
|
|
|
|
index f58c94956c0..343da3e183b 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
|
|
|
|
@@ -84,7 +84,7 @@
|
|
|
|
|
@@ -84,7 +84,7 @@ void jar::init(unpacker* u_) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Write data to the ZIP output stream.
|
|
|
|
@ -271,7 +278,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openj
|
|
|
|
|
while (len > 0) {
|
|
|
|
|
int rc = (int)fwrite(buff, 1, len, jarfp);
|
|
|
|
|
if (rc <= 0) {
|
|
|
|
|
@@ -323,12 +323,12 @@
|
|
|
|
|
@@ -323,12 +323,12 @@ void jar::write_central_directory() {
|
|
|
|
|
// Total number of disks (int)
|
|
|
|
|
header64[36] = (ushort)SWAP_BYTES(1);
|
|
|
|
|
header64[37] = 0;
|
|
|
|
@ -286,10 +293,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openj
|
|
|
|
|
|
|
|
|
|
PRINTCR((2, "writing zip comment\n"));
|
|
|
|
|
// Write the comment.
|
|
|
|
|
diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
|
|
|
|
--- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
|
|
|
|
diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
|
|
|
|
index 14ffc9d65bd..9877f6f68ca 100644
|
|
|
|
|
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
|
|
|
|
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
|
|
|
|
@@ -68,8 +68,8 @@
|
|
|
|
|
@@ -68,8 +68,8 @@ struct jar {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Private Methods
|
|
|
|
|