Index: drupalvb.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drupalvb/drupalvb.inc,v
retrieving revision 1.15
diff -u -p -r1.15 drupalvb.inc
--- drupalvb.inc	18 Oct 2008 17:09:35 -0000	1.15
+++ drupalvb.inc	17 May 2009 15:04:50 -0000
@@ -86,7 +86,7 @@ function drupalvb_db_is_valid() {
 
   $valid = FALSE;
   $connection_string = variable_get('drupalvb_db', '');
-  $db = parse_url($connection_string);
+  $db = (!empty($connection_string) ? parse_url($connection_string) : array());
   if (!empty($db['scheme']) && !empty($db['host']) && !empty($db['user']) && !empty($db['pass']) && !empty($db['path'])) {
     foreach (array('user', 'pass', 'host', 'path') as $value) {
       $db[$value] = urldecode($db[$value]);
@@ -101,8 +101,8 @@ function drupalvb_db_is_valid() {
         $connection = @mysql_connect($db['host'], $db['user'], $db['pass'], TRUE, 2);
         if ($connection && mysql_select_db(substr($db['path'], 1))) {
           $valid = TRUE;
+          @mysql_close($connection);
         }
-        @mysql_close($connection);
         break;
 
       case 'mysqli':
@@ -110,8 +110,8 @@ function drupalvb_db_is_valid() {
         @mysqli_real_connect($connection, $db['host'], $db['user'], $db['pass'], substr($db['path'], 1), $db['port'], NULL, MYSQLI_CLIENT_FOUND_ROWS);
         if ($connection) {
           $valid = TRUE;
+          @mysqli_close($connection);
         }
-        @mysqli_close($connection);
         break;
     }
   }
