From 136fa5a359b693edfb217ca472c830ea79ea82c6 Mon Sep 17 00:00:00 2001 From: Brian Simpson Date: Sat, 13 Dec 2014 11:26:35 -0500 Subject: [PATCH] Fail cleanly when VSrCanBan called on non Link, Comment, or Message. --- r2/r2/lib/validator/validator.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/r2/r2/lib/validator/validator.py b/r2/r2/lib/validator/validator.py index 751fd629e..4aa1447aa 100644 --- a/r2/r2/lib/validator/validator.py +++ b/r2/r2/lib/validator/validator.py @@ -1145,12 +1145,10 @@ class VSrCanBan(VByName): return True elif c.user_is_loggedin: item = VByName.run(self, thing_name) - # will throw a legitimate 500 if this isn't a link or - # comment, because this should only be used on links and - # comments - subreddit = item.subreddit_slow - if subreddit.is_moderator_with_perms(c.user, 'posts'): - return True + if isinstance(item, (Link, Comment, Message)): + sr = item.subreddit_slow + if sr and sr.is_moderator_with_perms(c.user, 'posts'): + return True abort(403,'forbidden') class VSrSpecial(VByName):