[aur-dev] [PATCH] Fix bug where a user could not edit their own comment

Marcel Korpel marcel.korpel at gmail.com
Fri Jul 10 22:10:21 UTC 2015


commentedit.php checked if the user was the package owner, instead of
checking if the user is the comment owner.

Signed-off-by: Marcel Korpel <marcel.korpel at gmail.com>
---
 web/html/commentedit.php | 4 ++--
 web/lib/aur.inc.php      | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/web/html/commentedit.php b/web/html/commentedit.php
index c7dda63..83d86dd 100644
--- a/web/html/commentedit.php
+++ b/web/html/commentedit.php
@@ -9,9 +9,9 @@ set_lang();
 check_sid();
 
 $comment_id = intval($_REQUEST['comment_id']);
-$comment = comment_by_id($comment_id);
+list($user_id, $comment) = comment_by_id($comment_id);
 
-if (!isset($base_id) || !has_credential(CRED_COMMENT_EDIT, array(pkgbase_maintainer_uid($base_id))) || is_null($comment)) {
+if (!isset($base_id) || !has_credential(CRED_COMMENT_EDIT, array($user_id)) || is_null($comment)) {
 	header('Location: /');
 	exit();
 }
diff --git a/web/lib/aur.inc.php b/web/lib/aur.inc.php
index 411d5ee..2d9f56e 100644
--- a/web/lib/aur.inc.php
+++ b/web/lib/aur.inc.php
@@ -581,18 +581,18 @@ function salted_hash($passwd, $salt) {
  *
  * @param  int $comment_id The ID of the comment
  *
- * @return string The comment
+ * @return array The user ID and comment OR null, null in case of an error
  */
 function comment_by_id($comment_id) {
 	$dbh = DB::connect();
-	$q = "SELECT Comments FROM PackageComments ";
+	$q = "SELECT UsersID, Comments FROM PackageComments ";
 	$q.= "WHERE ID = " . intval($comment_id);
 	$result = $dbh->query($q);
 	if (!$result) {
-		return null;
+		return array(null, null);
 	}
 
-	return $result->fetchColumn(0);
+	return $result->fetch(PDO::FETCH_NUM);
 }
 
 /**
-- 
2.4.5


More information about the aur-dev mailing list