From 9a19f7eac921bb5d05477cef98b2c2c200049c6c Mon Sep 17 00:00:00 2001
From: Max Kostikov <max@kostikov.co>
Date: Wed, 29 Sep 2021 23:01:27 +0200
Subject: Fix possible storage conversion stuck on file save error

---
 util/storageconv | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/util/storageconv b/util/storageconv
index 52bb77fbb..676425038 100755
--- a/util/storageconv
+++ b/util/storageconv
@@ -77,17 +77,18 @@ if($argc == 2) {
 						}
 
 						if(! file_put_contents($filename, dbunescbin($xx['content']))) {
+							@unlink($filename);
 							echo PHP_EOL . 'Failed to save file ' . $filename . PHP_EOL;
-							continue;
 						}
-				
-						$z = q("UPDATE photo SET content = '%s', os_storage = 1 WHERE id = %d",
-							dbescbin($filename),
-							intval($xx['id'])
-						);
-						if(! $z) {
-							@unlink($filename);
-							echo PHP_EOL . 'Failed to update metadata for saved file ' . $filename . PHP_EOL;
+						else {
+							$z = q("UPDATE photo SET content = '%s', os_storage = 1 WHERE id = %d",
+								dbescbin($filename),
+								intval($xx['id'])
+							);
+							if(! $z) {
+								@unlink($filename);
+								echo PHP_EOL . 'Failed to update metadata for saved file ' . $filename . PHP_EOL;
+							}
 						}
 
 						$cur_id = $xx['id'];
-- 
cgit v1.2.3