From 2af8fea2beb44b4f7f0e4b10adf284da37936a78 Mon Sep 17 00:00:00 2001
From: Joas Schilling <nickvergessen@owncloud.com>
Date: Wed, 11 Mar 2015 09:33:50 +0100
Subject: [PATCH] Throw a RuntimeException in the cache aswell

---
 lib/private/files/cache/cache.php   | 10 +++++++---
 lib/private/files/cache/storage.php |  3 ++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php
index f377e9777d..64661ca115 100644
--- a/lib/private/files/cache/cache.php
+++ b/lib/private/files/cache/cache.php
@@ -214,6 +214,7 @@ class Cache {
 	 * @param array $data
 	 *
 	 * @return int file id
+	 * @throws \RuntimeException
 	 */
 	public function put($file, array $data) {
 		if (($id = $this->getId($file)) > -1) {
@@ -259,9 +260,12 @@ class Cache {
 			}
 
 			// The file was created in the mean time
-			$id = $this->getId($file);
-			$this->update($id, $data);
-			return $id;
+			if (($id = $this->getId($file)) > -1) {
+				$this->update($id, $data);
+				return $id;
+			} else {
+				throw new \RuntimeException('File entry exists when inserting and does not exist on select... go away');
+			}
 		}
 	}
 
diff --git a/lib/private/files/cache/storage.php b/lib/private/files/cache/storage.php
index e5185f5c13..9f2739bbed 100644
--- a/lib/private/files/cache/storage.php
+++ b/lib/private/files/cache/storage.php
@@ -21,6 +21,7 @@ class Storage {
 
 	/**
 	 * @param \OC\Files\Storage\Storage|string $storage
+	 * @throws \RuntimeException
 	 */
 	public function __construct($storage) {
 		if ($storage instanceof \OC\Files\Storage\Storage) {
@@ -43,7 +44,7 @@ class Storage {
 				if ($row = $result->fetchRow()) {
 					$this->numericId = $row['numeric_id'];
 				} else {
-					throw new \Exception('Storage exists when inserting and does not exist on select... go away');
+					throw new \RuntimeException('Storage exists when inserting and does not exist on select... go away');
 				}
 			}
 		}
-- 
GitLab