]> git.p6c8.net - jirafeau.git/commitdiff
Fix potential error: do not scan for .tmp files
authorJerome Jutteau <mojo@couak.net>
Mon, 31 Dec 2012 14:08:50 +0000 (15:08 +0100)
committerJerome Jutteau <mojo@couak.net>
Mon, 31 Dec 2012 14:15:10 +0000 (15:15 +0100)
Fix clean function

lib/functions.php

index 10e98685c60f48a9ecd56caa27c6b5257f6c2ae1..d4a5e6aeeef3b4d52a7abd645fe6fb30331f8cc6 100644 (file)
@@ -118,9 +118,11 @@ jirafeau_delete ($link)
         fclose ($handle);
     }
 
-    if ($counter == 0 && file_exists ( VAR_FILES . $md5))
+    if ($counter == 0)
     {
-        unlink ( VAR_FILES . $md5);
+        if (file_exists (VAR_FILES . $md5))
+            unlink ( VAR_FILES . $md5);
+        if (file_exists (VAR_FILES . $md5 . '_count'))
         unlink ( VAR_FILES . $md5. '_count');
     }
 }
@@ -136,7 +138,8 @@ jirafeau_delete_file ($md5)
     
     foreach ($links_dir as $link)
     {
-        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0)
+        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0 ||
+            preg_match ('/\.tmp/i', "$link"))
             continue;
         /* Read link informations. */
         $l = jirafeau_get_link ($link);
@@ -400,7 +403,8 @@ jirafeau_admin_list ($name, $file_hash, $link_hash)
     echo '</tr>';
     foreach ($links_dir as $link)
     {
-        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0)
+        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0 ||
+            preg_match ('/\.tmp/i', "$link"))
             continue;
         /* Read link informations. */
         $l = jirafeau_get_link ($link);
@@ -452,13 +456,15 @@ jirafeau_admin_clean ()
 
     foreach ($links_dir as $link)
     {
-        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0)
+        if (strcmp ($link, '.') == 0 || strcmp ($link, '..') == 0 ||
+            preg_match ('/\.tmp/i', "$link"))
             continue;
         /* Read link informations. */
         $l = jirafeau_get_link ($link);
-        if ($l['time'] > 0 && $l['time'] < time ())
+        if ($l['time'] > 0 && $l['time'] < time () || // expired
+            !file_exists (VAR_FILES . $l['md5']) || // invalid
+            !file_exists (VAR_FILES . $l['md5'] . '_count')) // invalid
         {
-            echo 'HAAAA' . $l['time'] . '-->' . time ();
             jirafeau_delete ($link);
             $c++;
         }

patrick-canterino.de