diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 2b4825a8eebad57fa9857593d0a8aa5928b313fe..d41b29f30b6f07429b227fc4e07fffdcb292bbee 100755 (executable)
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
my ( $cmd, $data ) = @_;
$log->debug("req_Root : $data");
+ unless ($data =~ m#^/#) {
+ print "error 1 Root must be an absolute pathname\n";
+ return 0;
+ }
+
+ if ($state->{CVSROOT}
+ && ($state->{CVSROOT} ne $data)) {
+ print "error 1 Conflicting roots specified\n";
+ return 0;
+ }
+
$state->{CVSROOT} = $data;
$ENV{GIT_DIR} = $state->{CVSROOT} . "/";