Ver Fonte

* Delete failed temp userfiles

Bryan Drewery há 16 anos atrás
pai
commit
33182c59ae
2 ficheiros alterados com 4 adições e 1 exclusões
  1. 3 1
      src/mod/share.mod/share.c
  2. 1 0
      src/userrec.c

+ 3 - 1
src/mod/share.mod/share.c

@@ -1251,8 +1251,10 @@ write_tmp_userfile(char *fn, const struct userrec *bu, int idx)
   int ok = 1;
 
   if ((f = fopen(fn, "wb"))) {
-    if (real_writeuserfile(idx, bu, f, 1))
+    if (real_writeuserfile(idx, bu, f, 1)) {
+      unlink(fn);
       ok = 0;
+    }
     fclose(f);
     fixmod(fn);
   }

+ 1 - 0
src/userrec.c

@@ -513,6 +513,7 @@ int write_userfile(int idx)
 
   if (real_writeuserfile(idx, userlist, f)) {
     putlog(LOG_MISC, "*", "ERROR writing user file. (%s)", strerror(ferror(f)));
+    unlink(new_userfile);
     fclose(f);
     free(new_userfile);
     return 3;