瀏覽代碼

always allocate data for pkg->file->size so we don't overwrite other data

Wichert Akkerman 24 年之前
父節點
當前提交
d49e73a5bd
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      main/processarc.c

+ 2 - 1
main/processarc.c

@@ -196,8 +196,9 @@ void process_archive(const char *filename) {
     pkg->files= nfmalloc(sizeof(struct filedetails));
     pkg->files= nfmalloc(sizeof(struct filedetails));
     pkg->files->next= 0;
     pkg->files->next= 0;
     pkg->files->name= pkg->files->msdosname= pkg->files->md5sum= 0;
     pkg->files->name= pkg->files->msdosname= pkg->files->md5sum= 0;
-    pkg->files->size= nfmalloc(30);
   }
   }
+  /* Always nfmalloc.  Otherwise, we may overwrite some other field. */
+  pkg->files->size= nfmalloc(30);
   sprintf(pkg->files->size,"%lu",(unsigned long)stab.st_size);
   sprintf(pkg->files->size,"%lu",(unsigned long)stab.st_size);
 
 
   if (cipaction->arg == act_avail) {
   if (cipaction->arg == act_avail) {