20 lines
581 B
Diff
20 lines
581 B
Diff
diff --git a/process.c b/process.c
|
|
index d2a846e..cba2463 100644
|
|
--- a/process.c
|
|
+++ b/process.c
|
|
@@ -2064,10 +2064,14 @@ int getUnicodeData(__G__ ef_buf, ef_len)
|
|
G.unipath_checksum = makelong(offset + ef_buf);
|
|
offset += 4;
|
|
|
|
+ if (!G.filename_full) {
|
|
+ /* Check if we have a unicode extra section but no filename set */
|
|
+ return PK_ERR;
|
|
+ }
|
|
+
|
|
/*
|
|
* Compute 32-bit crc
|
|
*/
|
|
-
|
|
chksum = crc32(chksum, (uch *)(G.filename_full),
|
|
strlen(G.filename_full));
|