changeset 1985:3ccd4eb52ee4 HEAD

don't crash when requesting messages from empty mailbox
author Timo Sirainen <tss@iki.fi>
date Mon, 10 May 2004 02:20:04 +0300
parents 9c159272f721
children 7ac0ef106427
files src/lib-index/mail-index-view.c src/lib-storage/index/index-search.c
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-index-view.c	Mon May 10 02:06:27 2004 +0300
+++ b/src/lib-index/mail-index-view.c	Mon May 10 02:20:04 2004 +0300
@@ -209,8 +209,7 @@
 
 	rec = view->map->records;
 
-	idx = 0;
-	left_idx = *left_idx_p;
+	idx = left_idx = *left_idx_p;
 	right_idx = view->map->records_count;
 
 	while (left_idx < right_idx) {
@@ -224,6 +223,11 @@
 			break;
 	}
 
+	if (idx == view->map->records_count) {
+		/* no messages available */
+		return 0;
+	}
+
         *left_idx_p = left_idx;
 	if (rec[idx].uid != uid) {
 		if (nearest_side > 0) {
--- a/src/lib-storage/index/index-search.c	Mon May 10 02:06:27 2004 +0300
+++ b/src/lib-storage/index/index-search.c	Mon May 10 02:20:04 2004 +0300
@@ -691,6 +691,12 @@
 		return -1;
 	}
 
+	if (hdr->messages_count == 0) {
+		ctx->seq1 = 1;
+		ctx->seq2 = 0;
+		return 0;
+	}
+
 	if (search_parse_msgset_args(ctx->ibox, hdr, args,
 				     &ctx->seq1, &ctx->seq2) < 0)
 		return -1;