Commit a224dfe5 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 319082: "new Bugzilla::User($uid)" allows you to pass invalid $uid - Patch…

Bug 319082: "new Bugzilla::User($uid)" allows you to pass invalid $uid - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
parent d80d8848
......@@ -69,10 +69,20 @@ use constant MATCH_SKIP_CONFIRM => 1;
sub new {
my $invocant = shift;
if (scalar @_ == 0) {
my $user_id = shift;
if ($user_id) {
my $uid = $user_id;
detaint_natural($user_id)
|| ThrowCodeError('invalid_numeric_argument',
{argument => 'userID',
value => $uid,
function => 'Bugzilla::User::new'});
return $invocant->_create("userid=?", $user_id);
}
else {
return $invocant->_create;
}
return $invocant->_create("userid=?", @_);
}
# This routine is sort of evil. Nothing except the login stuff should
......@@ -85,8 +95,10 @@ sub new {
# in the id its already had to validate (or the User.pm object, of course)
sub new_from_login {
my $invocant = shift;
my $login = shift;
my $dbh = Bugzilla->dbh;
return $invocant->_create($dbh->sql_istrcmp('login_name', '?'), @_);
return $invocant->_create($dbh->sql_istrcmp('login_name', '?'), $login);
}
# Internal helper for the above |new| methods
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment