mirror of
https://github.com/corda/corda.git
synced 2025-01-07 13:38:47 +00:00
do not null-terminate ZipEntry names in openjdk-src builds
OpenJDK's java.util.zip.ZipFile.getEntryBytes should return a byte array that is not null-terminated, but we were giving it one that was null-terminated, which caused lookups to fail later when ZipFile.getInputStream was called.
This commit is contained in:
parent
3b83277d5e
commit
2bb3ea2532
@ -662,10 +662,10 @@ class MyClasspath : public Classpath {
|
|||||||
#ifdef AVIAN_OPENJDK_SRC
|
#ifdef AVIAN_OPENJDK_SRC
|
||||||
interceptFileOperations(t, true);
|
interceptFileOperations(t, true);
|
||||||
#else // not AVIAN_OPENJDK_SRC
|
#else // not AVIAN_OPENJDK_SRC
|
||||||
# ifdef PLATFORM_WINDOWS
|
# ifdef PLATFORM_WINDOWS
|
||||||
expect(t, loadLibrary(t, libraryPath, "msvcr100", true, true));
|
expect(t, loadLibrary(t, libraryPath, "msvcr100", true, true));
|
||||||
# endif
|
# endif
|
||||||
expect(t, loadLibrary(t, libraryPath, "verify", true, true));
|
expect(t, loadLibrary(t, libraryPath, "verify", true, true));
|
||||||
expect(t, loadLibrary(t, libraryPath, "java", true, true));
|
expect(t, loadLibrary(t, libraryPath, "java", true, true));
|
||||||
#endif // not AVIAN_OPENJDK_SRC
|
#endif // not AVIAN_OPENJDK_SRC
|
||||||
|
|
||||||
@ -1658,9 +1658,8 @@ int64_t JNICALL
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case 0: { // name
|
case 0: { // name
|
||||||
unsigned nameLength = fileNameLength(entry->start);
|
unsigned nameLength = fileNameLength(entry->start);
|
||||||
GcByteArray* array = makeByteArray(t, nameLength + 1);
|
GcByteArray* array = makeByteArray(t, nameLength);
|
||||||
memcpy(array->body().begin(), fileName(entry->start), nameLength);
|
memcpy(array->body().begin(), fileName(entry->start), nameLength);
|
||||||
array->body()[nameLength] = 0;
|
|
||||||
return reinterpret_cast<int64_t>(array);
|
return reinterpret_cast<int64_t>(array);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user