Index: trunk/dnsbl/DNSBLweb.pm
===================================================================
--- trunk/dnsbl/DNSBLweb.pm	(revision 56)
+++ trunk/dnsbl/DNSBLweb.pm	(revision 57)
@@ -37,9 +37,8 @@
     return;
   }
-  my $ret;
+  my $ret = '';
 
   my %args = @_;
   $args{ipseen} = \%ipseen if !defined($args{ipseen});
-  my $pblock = $args{block} || '0/0';
   my $ip;  
   if ($args{ip}) {
@@ -49,4 +48,11 @@
   }
   my $ipcidr = new NetAddr::IP $ip;
+  if (!$args{block}) {
+    # Safety net - Don't try to return the entire dataset if we were only passed an IP that
+    # is not in a known block
+    ($args{block}) = $dbh->selectrow_array("SELECT block FROM blocks WHERE block >> ? AND level=0", undef, $ip);
+    return '' if !$args{block};
+  }
+  my $pblock = $args{block} || '0/0';
 
   my $basesql = "SELECT b.block,o.orgname,b.listme,o.listme,b.comments,o.comments ".
