Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.797
diff -u -p -r1.797 user.module
--- modules/user/user.module	12 Jun 2007 20:37:07 -0000	1.797
+++ modules/user/user.module	14 Jun 2007 04:20:37 -0000
@@ -88,6 +88,9 @@ function user_load($array = array()) {
   if (is_numeric($array)) {
     $array = array('uid' => $array);
   }
+  elseif (!is_array($array)) {
+    return FALSE;
+  }
 
   foreach ($array as $key => $value) {
     if ($key == 'uid' || $key == 'status') {
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.829
diff -u -p -r1.829 node.module
--- modules/node/node.module	7 Jun 2007 03:45:57 -0000	1.829
+++ modules/node/node.module	14 Jun 2007 04:20:37 -0000
@@ -568,7 +568,7 @@ function node_load($param = array(), $re
     $cond = 'n.nid = %d';
     $arguments[] = $param;
   }
-  else {
+  elseif (is_array($param)) {
     // Turn the conditions into a query.
     foreach ($param as $key => $value) {
       $cond[] = 'n.'. db_escape_string($key) ." = '%s'";
@@ -576,6 +576,9 @@ function node_load($param = array(), $re
     }
     $cond = implode(' AND ', $cond);
   }
+  else {
+    return FALSE;
+  }
 
   // Retrieve the node.
   // No db_rewrite_sql is applied so as to get complete indexing for search.
Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.552
diff -u -p -r1.552 comment.module
--- modules/comment/comment.module	11 Jun 2007 14:56:40 -0000	1.552
+++ modules/comment/comment.module	14 Jun 2007 04:20:38 -0000
@@ -251,12 +251,12 @@ function comment_menu() {
     'access arguments' => array('view', 2),
     'type' => MENU_CALLBACK,
   );
-  $items['node/%node/%'] = array(
+  $items['node/%node/comment/%'] = array(
     'title' => 'View',
     'page callback' => 'node_page_view',
-    'page arguments' => array(1, 2),
+    'page arguments' => array(1, 3),
     'access callback' => '_comment_view_access',
-    'access arguments' => array(1, 2),
+    'access arguments' => array(1, 3),
     'type' => MENU_CALLBACK,
   );
 
@@ -972,7 +972,7 @@ function comment_render($node, $cid = 0)
     $order = _comment_get_display_setting('sort');
     $comments_per_page = _comment_get_display_setting('comments_per_page');
 
-    if ($cid) {
+    if ($cid && is_numeric($cid)) {
       // Single comment view.
       $query = 'SELECT c.cid, c.pid, c.nid, c.subject, c.comment, c.format, c.timestamp, c.name, c.mail, c.homepage, u.uid, u.name AS registered_name, u.signature, u.picture, u.data, c.score, c.users, c.status FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d';
       $query_args = array($cid);
@@ -1832,7 +1832,7 @@ function template_preprocess_comment(&$v
 
 function theme_comment_folded($comment) {
   $output  = "<div class=\"comment-folded\">\n";
-  $output .= ' <span class="subject">'. l($comment->subject, comment_node_url() .'/'. $comment->cid, array('fragment' => "comment-$comment->cid")) .' '. theme('mark', $comment->new) .'</span> ';
+  $output .= ' <span class="subject">'. l($comment->subject, comment_node_url() .'/comment/'. $comment->cid, array('fragment' => "comment-$comment->cid")) .' '. theme('mark', $comment->new) .'</span> ';
   $output .= '<span class="credit">'. t('by') .' '. theme('username', $comment) ."</span>\n";
   $output .= "</div>\n";
   return $output;
