From 7ef76932d4af652739f149e3eb104f7b3a61bd91 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 16 Oct 2015 12:36:47 +0200 Subject: [PATCH] DbRepository: Validate the table when inserting, updating and deleting --- library/Icinga/Authentication/User/DbUserBackend.php | 2 ++ library/Icinga/Repository/DbRepository.php | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/library/Icinga/Authentication/User/DbUserBackend.php b/library/Icinga/Authentication/User/DbUserBackend.php index c0c949fd7..e004a56c0 100644 --- a/library/Icinga/Authentication/User/DbUserBackend.php +++ b/library/Icinga/Authentication/User/DbUserBackend.php @@ -130,6 +130,7 @@ class DbUserBackend extends DbRepository implements UserBackendInterface, Inspec */ public function insert($table, array $bind) { + $this->requireTable($table); $bind['created_at'] = date('Y-m-d H:i:s'); $this->ds->insert( $this->prependTablePrefix($table), @@ -150,6 +151,7 @@ class DbUserBackend extends DbRepository implements UserBackendInterface, Inspec */ public function update($table, array $bind, Filter $filter = null) { + $this->requireTable($table); $bind['last_modified'] = date('Y-m-d H:i:s'); if ($filter) { $filter = $this->requireFilter($table, $filter); diff --git a/library/Icinga/Repository/DbRepository.php b/library/Icinga/Repository/DbRepository.php index a187d76c0..90b7807fa 100644 --- a/library/Icinga/Repository/DbRepository.php +++ b/library/Icinga/Repository/DbRepository.php @@ -297,6 +297,7 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function insert($table, array $bind) { + $this->requireTable($table); $this->ds->insert($this->prependTablePrefix($table), $this->requireStatementColumns($table, $bind)); } @@ -309,6 +310,8 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function update($table, array $bind, Filter $filter = null) { + $this->requireTable($table); + if ($filter) { $filter = $this->requireFilter($table, $filter); } @@ -324,6 +327,8 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function delete($table, Filter $filter = null) { + $this->requireTable($table); + if ($filter) { $filter = $this->requireFilter($table, $filter); }