Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 23362)
+++ wp-includes/query.php	(working copy)
@@ -2730,8 +2730,10 @@
 		// Put sticky posts at the top of the posts array
 		$sticky_posts = get_option('sticky_posts');
 		if ( $this->is_home && $page <= 1 && is_array($sticky_posts) && !empty($sticky_posts) && !$q['ignore_sticky_posts'] ) {
+			$sticky_posts = array_slice( $sticky_posts, 0, apply_filters( 'sticky_posts_query_limit', 100 ) );	// sanity limit
 			$num_posts = count($this->posts);
 			$sticky_offset = 0;
+			
 			// Loop over posts and relocate stickies to the front.
 			for ( $i = 0; $i < $num_posts; $i++ ) {
 				if ( in_array($this->posts[$i]->ID, $sticky_posts) ) {
