[Toolserver-l] feof(): Use with care
River Tarnell
river.tarnell at wikimedia.de
Thu May 20 00:28:08 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I've just found two PHP scripts that contain code like this:
$x = fopen(...);
while (!feof($x)) {
...
}
This is unfortunate, because it creates an infinite loop when fopen
fails: since $x is not a file handle, feof() will never return true, and
the loop will never end.
This is particularly serious with PHP because the infinite loop creates
a log message every time, which fills the system disk, but it's
something to be avoided in any language.
Error handling is not just a nicety. Doing it wrong creates serious
bugs. Do it right.
- river.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (HP-UX)
iEYEARECAAYFAkv0ghgACgkQIXd7fCuc5vLhUQCfbEzTLZQtNgOHEVf2k1aOqWkK
IyoAn07rhNNnHIGvIhTGsZyiogksMlow
=Ot4F
-----END PGP SIGNATURE-----
More information about the Toolserver-l
mailing list