summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
27fb49f)
... and check for underreads properly.
Previously Privoxy was supposedly serving the file partially
if it was edited in place, but actually would have served an
error message and leaked memory. Now it just serves the error
message (if it's run in a fantasy world were this actually
happens).
CID 66380, CID 66362, CID 66357.
-const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.128 2014/06/03 10:29:23 fabiankeil Exp $";
+const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.129 2014/10/18 11:25:13 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
- else if (!fread(*buffer, *length, 1, fp))
+ else if (1 != fread(*buffer, *length, 1, fp))
- * May happen if the file size changes between fseek() and
- * fread(). If it does, we just log it and serve what we got.
+ * May theoretically happen if the file size changes between
+ * fseek() and fread() because it's edited in-place. Privoxy
+ * and common text editors don't do that, thus we just fail.
*/
log_error(LOG_LEVEL_ERROR,
"Couldn't completely read file %s.", filename);
*/
log_error(LOG_LEVEL_ERROR,
"Couldn't completely read file %s.", filename);