Browse Source

check return value of fclose while writing to disk, since it might
return out-of-space, etc


svn:r2122

Roger Dingledine 21 years ago
parent
commit
5525606653
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/common/util.c

+ 4 - 1
src/common/util.c

@@ -1334,7 +1334,10 @@ write_str_to_file(const char *fname, const char *str)
     fclose(file);
     return -1;
   }
-  fclose(file);
+  if (fclose(file) == EOF) {
+    log(LOG_WARN,"Error flushing to %s: %s", tempname, strerror(errno));
+    return -1;
+  }
 
 #ifdef MS_WINDOWS
   /* On Windows, rename doesn't replace.  We could call ReplaceFile, but