--- fileshare.module.orig	2007-03-10 00:04:01.000000000 -0800
+++ fileshare.module	2007-03-10 02:23:15.000000000 -0800
@@ -761,10 +761,6 @@
 
   // Transfer file in 1024 byte chunks to save memory usage.
   if ($fd = fopen($source, 'rb')) {
-    while (!feof($fd)) {
-      $data .= fread($fd, 1024);
-    }
-    fclose($fd);
     foreach ($headers as $header) {
       // To prevent HTTP header injection, we delete new lines that are
       // not followed by a space or a tab.
@@ -772,7 +768,10 @@
       $header = preg_replace('/\r?\n(?!\t| )/', '', $header);
       header($header);
     }
-    print $data;
+    while (!feof($fd)) {
+      print(fread($fd, 1024));
+    }
+    fclose($fd);
   } else {
     drupal_not_found();
   }
