From: Timo Sirainen Date: Sun, 24 Jun 2012 17:52:39 +0000 (+0300) Subject: Make static analyzer happier. X-Git-Tag: 2.1.8~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bd301fdbfefe7cef3576d19ece29c75ebe53baf;p=thirdparty%2Fdovecot%2Fcore.git Make static analyzer happier. --- diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c index 3ef8fe03af..683b975322 100644 --- a/src/auth/auth-request.c +++ b/src/auth/auth-request.c @@ -1250,6 +1250,8 @@ void auth_request_set_field(struct auth_request *request, i_assert(*name != '\0'); i_assert(value != NULL); + i_assert(request->passdb != NULL); + if (strcmp(name, "password") == 0) { auth_request_set_password(request, value, default_scheme, FALSE); diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index 770e467a84..24899ff6b1 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -866,6 +866,7 @@ int db_ldap_connect(struct ldap_connection *conn) ret = ldap_start_tls_s(conn->ld, NULL, NULL); if (ret != LDAP_SUCCESS) { if (ret == LDAP_OPERATIONS_ERROR && + conn->set.uris != NULL && strncmp(conn->set.uris, "ldaps:", 6) == 0) { i_fatal("LDAP: Don't use both tls=yes " "and ldaps URI"); diff --git a/src/auth/password-scheme.c b/src/auth/password-scheme.c index 40114b94fd..c3aa2d19ce 100644 --- a/src/auth/password-scheme.c +++ b/src/auth/password-scheme.c @@ -367,7 +367,7 @@ md5_verify(const char *plaintext, const char *user, str = password_generate_md5_crypt(plaintext, password); return strcmp(str, password) == 0 ? 1 : 0; } else if (password_decode(password, "PLAIN-MD5", - &md5_password, &md5_size, &error) < 0) { + &md5_password, &md5_size, &error) <= 0) { *error_r = "Not a valid MD5-CRYPT or PLAIN-MD5 password"; return -1; } else { diff --git a/src/lib-index/mail-transaction-log-file.c b/src/lib-index/mail-transaction-log-file.c index 49a34564f3..b40bdebcdc 100644 --- a/src/lib-index/mail-transaction-log-file.c +++ b/src/lib-index/mail-transaction-log-file.c @@ -1673,6 +1673,7 @@ int mail_transaction_log_file_map(struct mail_transaction_log_file *file, file->filepath); return 0; } + i_assert(file->buffer != NULL); return log_file_map_check_offsets(file, start_offset, end_offset); } @@ -1695,9 +1696,11 @@ int mail_transaction_log_file_map(struct mail_transaction_log_file *file, i_assert(file->buffer == NULL || file->mmap_base != NULL || file->sync_offset >= file->buffer_offset + file->buffer->used); + if (ret <= 0) + return ret; - return ret <= 0 ? ret : - log_file_map_check_offsets(file, start_offset, end_offset); + i_assert(file->buffer != NULL); + return log_file_map_check_offsets(file, start_offset, end_offset); } void mail_transaction_log_file_move_to_memory(struct mail_transaction_log_file diff --git a/src/lib-index/mail-transaction-log.c b/src/lib-index/mail-transaction-log.c index 53eecff2a4..f66e54421a 100644 --- a/src/lib-index/mail-transaction-log.c +++ b/src/lib-index/mail-transaction-log.c @@ -463,6 +463,7 @@ int mail_transaction_log_lock_head(struct mail_transaction_log *log) /* try again */ } + i_assert(ret < 0 || log->head != NULL); return ret; } diff --git a/src/lib-storage/index/mbox/mbox-mail.c b/src/lib-storage/index/mbox/mbox-mail.c index f85b380a43..392a783c3e 100644 --- a/src/lib-storage/index/mbox/mbox-mail.c +++ b/src/lib-storage/index/mbox/mbox-mail.c @@ -240,6 +240,8 @@ mbox_mail_get_next_offset(struct index_mail *mail, uoff_t *next_offset_r) int trailer_size; int ret = 1; + *next_offset_r = (uoff_t)-1; + hdr = mail_index_get_header(mail->mail.mail.transaction->view); if (mail->mail.mail.seq > hdr->messages_count) { /* we're appending a new message */ @@ -341,8 +343,6 @@ static int mbox_mail_init_stream(struct index_mail *mail) mail->mail.mail.uid); } } - if (ret <= 0) - next_offset = (uoff_t)-1; raw_stream = mbox->mbox_stream; hdr_offset = istream_raw_mbox_get_header_offset(raw_stream); diff --git a/src/lib-storage/index/mbox/mbox-save.c b/src/lib-storage/index/mbox/mbox-save.c index 09178d8ae7..0e646c258b 100644 --- a/src/lib-storage/index/mbox/mbox-save.c +++ b/src/lib-storage/index/mbox/mbox-save.c @@ -666,6 +666,7 @@ int mbox_save_finish(struct mail_save_context *_ctx) ctx->finished = TRUE; if (!ctx->failed) { + i_assert(ctx->output != NULL); T_BEGIN { if (mbox_write_content_length(ctx) < 0 || mbox_append_lf(ctx) < 0) diff --git a/src/plugins/fts-squat/squat-uidlist.c b/src/plugins/fts-squat/squat-uidlist.c index 6f87974ef9..2ae141a539 100644 --- a/src/plugins/fts-squat/squat-uidlist.c +++ b/src/plugins/fts-squat/squat-uidlist.c @@ -1416,6 +1416,7 @@ squat_uidlist_get_offset(struct squat_uidlist *uidlist, uint32_t uid_list_idx, squat_uidlist_set_corrupted(uidlist, "uidlist not found"); return -1; } + i_assert(uidlist->cur_block_end_indexes != NULL); if (unlikely(idx > 0 && uidlist->cur_block_end_indexes[idx-1] > uid_list_idx)) { squat_uidlist_set_corrupted(uidlist, "broken block list"); @@ -1430,6 +1431,7 @@ squat_uidlist_get_offset(struct squat_uidlist *uidlist, uint32_t uid_list_idx, return -1; /* find the uidlist inside the block */ + i_assert(uidlist->cur_block_offsets != NULL); p = CONST_PTR_OFFSET(uidlist->data, uidlist->cur_block_offsets[idx]); end = CONST_PTR_OFFSET(uidlist->data, uidlist->data_size);