Bug 5595 : Fixing a security glitch (please always use placeholders or
authorChris Cormack <chrisc@catalyst.net.nz>
Sun, 13 Mar 2011 07:30:13 +0000 (20:30 +1300)
committerChris Cormack <chrisc@catalyst.net.nz>
Sun, 13 Mar 2011 07:30:13 +0000 (20:30 +1300)
dbh->quote and fixing the tests

C4/Members/Attributes.pm
t/db_dependent/Members.t

index b89b03a..1db9424 100644 (file)
@@ -102,16 +102,16 @@ sub GetBorrowerAttributes {
 
 sub SearchIdMatchingAttribute{
     my $filter = shift;
-       my $finalfilter=$$filter[0];
+    my $finalfilter=$filter->[0];
     my $dbh   = C4::Context->dbh();
     my $query = qq{
 SELECT borrowernumber
 FROM borrower_attributes
 JOIN borrower_attribute_types USING (code)
 WHERE staff_searchable = 1
-AND attribute like "%$finalfilter%"};
+AND attribute like ?};
     my $sth = $dbh->prepare_cached($query);
-    $sth->execute();
+    $sth->execute("%$finalfilter%");
     return $sth->fetchall_arrayref;
 }
 
index 8e26643..e28fbae 100755 (executable)
@@ -39,13 +39,13 @@ is ($changedmember->{firstname}, "Marie", "Member Returned");
 
 $member->{email}="Marie\@email.com";
 ModMember(%$member);
-my $searchemail=Search($member);
-is ($member->{email}, "Marie\@email.com", "Email search works");
+$changedmember=GetMemberDetails("","TESTCARD01");
+is ($changedmember->{email}, "Marie\@email.com", "Email Set works");
 
 $member->{ethnicity}="German";
 ModMember(%$member);
-my $searcheth=Search($member);
-is ($member->{ethnicity}, "German", "Ethnicity Works");
+$changedmember=GetMemberDetails("","TESTCARD01");
+is ($changedmember->{ethnicity}, "German", "Ethnicity Works");
 
 my @searchstring=("Mcknight");
 my ($results) = Search(\@searchstring,undef,undef,undef,["surname"]);