On Thu, Jul 02, 2009 at 03:42:56PM +0100, Dave Page wrote:
> On Thu, Jul 2, 2009 at 3:22 PM, Joshua Tolley<eggyk...@gmail.com> wrote:
> > On Thu, Jul 02, 2009 at 08:41:27AM +0100, Dave Page wrote:
> >> As far as I'm aware, there's been no code
> >> review yet either, which would probably be a good idea.
> >
> > I don't have loads of time in the coming days, but IIRC I've taken a glance 
> > at
> > a past version of the code, and would be willing to do so again, if it would
> > be useful.
> 
> If you can look over it, that would be great. i'm not really qualified
> to review perl code, and we always prefer to have at least two sets of
> eyeballs on anything that we put into production for obvious reasons.

On the assumption that other folks' testing has included bug hunting and the
like, I've spent the review time I was able to muster up figuring out the code
and looking for stuff that scared me. I didn't find anything that jumped out.
I did wonder if the %ACTION hash in Handler.pm ought not perhaps include a
flag to indicate that that action needs authentication, and have the handler
take care of that instead of the individual actions. Perhaps a similar
technique could be profitably employed for the titles. Oh, and in Patch.pm,
s/with/which in "patches with have been Committed".

Finally, I ran Perl::Critic, and attached an (admittedly untested) patch to
clean up the things it whined about.

--
Joshua Tolley / eggyknap
End Point Corporation
http://www.endpoint.com
diff --git a/perl-lib/PgCommitFest/CommitFestTopic.pm b/perl-lib/PgCommitFest/CommitFestTopic.pm
index 3e101fc..92113ac 100644
--- a/perl-lib/PgCommitFest/CommitFestTopic.pm
+++ b/perl-lib/PgCommitFest/CommitFestTopic.pm
@@ -80,7 +80,8 @@ EOM
 sub search {
 	my ($r) = @_;
 	my $id = $r->cgi_id();
-	my $d = $r->db->select_one(<<EOM, $id) if defined $id;
+	my $d;
+    $d = $r->db->select_one(<<EOM, $id) if defined $id;
 SELECT id, name FROM commitfest_view WHERE id = ?
 EOM
 	$r->error_exit('CommitFest not found.') if !defined $d;
diff --git a/perl-lib/PgCommitFest/DB.pm b/perl-lib/PgCommitFest/DB.pm
index 4719007..adeecdb 100644
--- a/perl-lib/PgCommitFest/DB.pm
+++ b/perl-lib/PgCommitFest/DB.pm
@@ -118,7 +118,7 @@ sub select_one {
 sub tidy {
 	my ($self) = @_;
 	$self->{'dbh'}->rollback() if $self->{'dirty'};
-	return undef;
+	return;
 }
 
 sub update {
diff --git a/perl-lib/PgCommitFest/Handler.pm b/perl-lib/PgCommitFest/Handler.pm
index d94e042..19c4424 100644
--- a/perl-lib/PgCommitFest/Handler.pm
+++ b/perl-lib/PgCommitFest/Handler.pm
@@ -103,9 +103,9 @@ EOM
 		$pg_login_db->disconnect;
 		if (defined $u) {
 			my $random_bits;
-			open(RANDOM_BITS, '</dev/urandom') || die "/dev/urandom: $!";
-			sysread(RANDOM_BITS, $random_bits, 16);
-			close(RANDOM_BITS);
+			open(my $RANDOM_BITS, '<', '/dev/urandom') || die "/dev/urandom: $!";
+			sysread($RANDOM_BITS, $random_bits, 16);
+			close($RANDOM_BITS);
 			my $session_cookie = unpack("H*", $random_bits);
 			$r->db->insert('session', { 'id' => $session_cookie,
 				'userid' => $u->{'userid'} });
diff --git a/perl-lib/PgCommitFest/Patch.pm b/perl-lib/PgCommitFest/Patch.pm
index fe9a720..aebec55 100644
--- a/perl-lib/PgCommitFest/Patch.pm
+++ b/perl-lib/PgCommitFest/Patch.pm
@@ -161,7 +161,8 @@ sub view {
 	my ($r) = @_;
 	my $aa = $r->authenticate();
 	my $id = $r->cgi_id();
-	my $d = $r->db->select_one(<<EOM, $id) if defined $id;
+    my $d;
+	$d = $r->db->select_one(<<EOM, $id) if defined $id;
 SELECT id, name, commitfest_id, commitfest, commitfest_topic_id,
 	commitfest_topic, patch_status, author, reviewers, date_closed
 FROM patch_view WHERE id = ?
diff --git a/perl-lib/PgCommitFest/Request.pm b/perl-lib/PgCommitFest/Request.pm
index de6d32f..c1042ba 100644
--- a/perl-lib/PgCommitFest/Request.pm
+++ b/perl-lib/PgCommitFest/Request.pm
@@ -22,7 +22,7 @@ $CGI::DISABLE_UPLOADS = 1;  # No need for uploads at present.
 sub new {
 	my ($class, $db) = @_;
 	my $cgi = CGI::Fast->new();
-	return undef if !defined $cgi;
+	return if !defined $cgi;
 	bless {
 		'cgi' => $cgi,
 		'control' => {},
diff --git a/perl-lib/PgCommitFest/WebControl.pm b/perl-lib/PgCommitFest/WebControl.pm
index 7443a60..11af6bd 100644
--- a/perl-lib/PgCommitFest/WebControl.pm
+++ b/perl-lib/PgCommitFest/WebControl.pm
@@ -42,7 +42,7 @@ sub choice {
 	$self->{'value_key'} = 'id' if !defined $self->{'value_key'};
 	$self->{'text_key'} = 'name' if !defined $self->{'text_key'};
 	$self->{'choice'} = $choice_list;
-	return undef;
+	return;
 }
 
 sub db_value {

Attachment: signature.asc
Description: Digital signature

Reply via email to