diff -dupr zip30-old/fileio.c zip30/fileio.c
--- a/fileio.c
+++ b/fileio.c
@@ -3502,7 +3502,7 @@ zwchar *local_to_wide_string(local_strin
   if ((wc_string = (wchar_t *)malloc((wsize + 1) * sizeof(wchar_t))) == NULL) {
     ZIPERR(ZE_MEM, "local_to_wide_string");
   }
-  wsize = mbstowcs(wc_string, local_string, strlen(local_string) + 1);
+  wsize = mbstowcs(wc_string, local_string, wsize + 1);
   wc_string[wsize] = (wchar_t) 0;
 
   /* in case wchar_t is not zwchar */
diff -dupr zip30-old/zipfile.c zip30/zipfile.c
--- a/zipfile.c
+++ b/zipfile.c
@@ -5406,7 +5406,9 @@ int putlocal(z, rewrite)
     if (z->flg & UTF8_BIT) {
       /* If this flag is set, then restore UTF-8 as path name */
       use_uname = 1;
+      tempzn -= nam;
       nam = strlen(z->uname);
+      tempzn += nam;
     } else {
       /* use extra field */
       add_Unicode_Path_local_extra_field(z);
@@ -5647,7 +5650,9 @@ int putcentral(z)
     if (z->flg & UTF8_BIT) {
       /* If this flag is set, then restore UTF-8 as path name */
       use_uname = 1;
+      tempzn -= nam;
       nam = strlen(z->uname);
+      tempzn += nam;
     } else {
       add_Unicode_Path_cen_extra_field(z);
     }
diff -dupr zip30/zipnote.c zip30/zipnote.c
--- a/zipnote.c
+++ b/zipnote.c
@@ -575,6 +575,13 @@ char **argv;            /* command line
       strcpy(z->iname, a+2);
 #endif
 
+#ifdef UNICODE_SUPPORT
+#define UTF8_BIT (1 << 11)
+      if (using_utf8) {
+        z->uname = z->iname;
+      }
+#endif
+
 /*
  * Don't update z->nam here, we need the old value a little later.....
  * The update is handled in zipcopy().
@@ -661,7 +668,7 @@ char **argv;            /* command line
     if ((r = zipcopy(z)) != ZE_OK)
       ziperr(r, "was copying an entry");
   }
-  fclose(x);
+  fclose(in_file);
 
   /* Write central directory and end of central directory with new comments */
   if ((c = zftello(y)) == (zoff_t)-1)    /* get start of central */
