dovecot-2.0: Small code changes to make static analyzer happier.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Apr 5 09:18:17 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/c32f55615055
changeset: 11074:c32f55615055
user: Timo Sirainen <tss at iki.fi>
date: Mon Apr 05 09:18:14 2010 +0300
description:
Small code changes to make static analyzer happier.
diffstat:
src/auth/mech-winbind.c | 3 ++-
src/config/config-filter.c | 3 ++-
src/doveadm/doveadm.h | 2 +-
src/lib-index/mail-index-sync-ext.c | 11 +++++++----
src/lib-index/mail-transaction-log-view.c | 1 +
src/lib-mail/message-decoder.c | 2 +-
src/lib-storage/index/index-sort-string.c | 2 ++
src/lib-storage/mail-search.c | 4 +++-
src/lib/env-util.c | 2 ++
src/lib/test-istream-concat.c | 1 +
src/lib/test-istream-seekable.c | 1 +
src/plugins/expire/expire-plugin.c | 2 +-
12 files changed, 24 insertions(+), 10 deletions(-)
diffs (177 lines):
diff -r 462376c65e73 -r c32f55615055 src/auth/mech-winbind.c
--- a/src/auth/mech-winbind.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/auth/mech-winbind.c Mon Apr 05 09:18:14 2010 +0300
@@ -197,7 +197,7 @@
token = t_strsplit_spaces(answer, " ");
if (token[0] == NULL ||
(token[1] == NULL && strcmp(token[0], "BH") != 0) ||
- (token[2] == NULL && gss_spnego)) {
+ (gss_spnego && (token[1] == NULL || token[2] == NULL))) {
auth_request_log_error(auth_request, "winbind",
"Invalid input from helper: %s", answer);
return HR_RESTART;
@@ -241,6 +241,7 @@
const char *user, *p, *error;
user = gss_spnego ? token[2] : token[1];
+ i_assert(user != NULL);
p = strchr(user, '\\');
if (p != NULL) {
diff -r 462376c65e73 -r c32f55615055 src/config/config-filter.c
--- a/src/config/config-filter.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/config/config-filter.c Mon Apr 05 09:18:14 2010 +0300
@@ -312,7 +312,7 @@
{
struct config_filter_parser *const *src;
struct config_module_parser *dest;
- const char *error, **error_p;
+ const char *error = NULL, **error_p;
unsigned int i, count;
src = config_filter_find_all(ctx, module, filter, output_r);
@@ -337,6 +337,7 @@
if (config_module_parser_apply_changes(dest, src[i], pool,
error_p) < 0) {
+ i_assert(error != NULL);
config_filter_parsers_free(dest);
*error_r = error;
return -1;
diff -r 462376c65e73 -r c32f55615055 src/doveadm/doveadm.h
--- a/src/doveadm/doveadm.h Mon Apr 05 09:17:31 2010 +0300
+++ b/src/doveadm/doveadm.h Mon Apr 05 09:18:14 2010 +0300
@@ -24,7 +24,7 @@
void doveadm_register_cmd(const struct doveadm_cmd *cmd);
-void usage(void);
+void usage(void) ATTR_NORETURN;
void help(const struct doveadm_cmd *cmd);
const char *unixdate2str(time_t timestamp);
diff -r 462376c65e73 -r c32f55615055 src/lib-index/mail-index-sync-ext.c
--- a/src/lib-index/mail-index-sync-ext.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib-index/mail-index-sync-ext.c Mon Apr 05 09:18:14 2010 +0300
@@ -494,10 +494,13 @@
if (!mail_index_map_lookup_ext(map, name, &ext_map_idx))
ext_map_idx = (uint32_t)-1;
}
- ext = ext_map_idx == (uint32_t)-1 ? NULL :
- array_idx(&map->extensions, ext_map_idx);
- if (ext != NULL)
+ if (ext_map_idx == (uint32_t)-1)
+ ext = NULL;
+ else {
+ ext = array_idx(&map->extensions, ext_map_idx);
name = ext->name;
+ }
+ i_assert(name != NULL);
if (!ctx->internal_update &&
strcmp(name, MAIL_INDEX_EXT_KEYWORDS) == 0) {
@@ -525,7 +528,7 @@
return -1;
}
- if (ext_map_idx != (uint32_t)-1) {
+ if (ext != NULL) {
/* exists already */
if (u->reset_id == ext->reset_id) {
/* check if we need to resize anything */
diff -r 462376c65e73 -r c32f55615055 src/lib-index/mail-transaction-log-view.c
--- a/src/lib-index/mail-transaction-log-view.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib-index/mail-transaction-log-view.c Mon Apr 05 09:18:14 2010 +0300
@@ -189,6 +189,7 @@
view->head = file;
file = file->next;
}
+ i_assert(view->tail != NULL);
if (min_file_offset == 0) {
/* beginning of the file */
diff -r 462376c65e73 -r c32f55615055 src/lib-mail/message-decoder.c
--- a/src/lib-mail/message-decoder.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib-mail/message-decoder.c Mon Apr 05 09:18:14 2010 +0300
@@ -252,7 +252,7 @@
struct message_block *output)
{
const unsigned char *data = NULL;
- size_t pos, size = 0;
+ size_t pos = 0, size = 0;
int ret;
if (ctx->encoding_buf->used != 0) {
diff -r 462376c65e73 -r c32f55615055 src/lib-storage/index/index-sort-string.c
--- a/src/lib-storage/index/index-sort-string.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib-storage/index/index-sort-string.c Mon Apr 05 09:18:14 2010 +0300
@@ -651,6 +651,8 @@
}
nodes[i].sort_id_changed = TRUE;
}
+ i_assert(str != NULL);
+
return right_str == NULL || strcmp(str, right_str) < 0 ||
(strcmp(str, right_str) == 0 &&
nodes[i-1].sort_id == right_sort_id) ? 0 : -1;
diff -r 462376c65e73 -r c32f55615055 src/lib-storage/mail-search.c
--- a/src/lib-storage/mail-search.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib-storage/mail-search.c Mon Apr 05 09:18:14 2010 +0300
@@ -560,8 +560,10 @@
SEARCH_OR : SEARCH_SUB;
args->not = FALSE;
sub = args->value.subargs;
- for (; sub != NULL; sub = sub->next)
+ do {
sub->not = !sub->not;
+ sub = sub->next;
+ } while (sub != NULL);
}
if ((args->type == SEARCH_SUB && parent_and) ||
diff -r 462376c65e73 -r c32f55615055 src/lib/env-util.c
--- a/src/lib/env-util.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib/env-util.c Mon Apr 05 09:18:14 2010 +0300
@@ -77,6 +77,8 @@
unsigned int i, count;
pool_t pool;
+ i_assert(environ != NULL);
+
for (count = 0; environ[count] != NULL; count++) ;
pool = pool_alloconly_create("saved environment", 4096);
diff -r 462376c65e73 -r c32f55615055 src/lib/test-istream-concat.c
--- a/src/lib/test-istream-concat.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib/test-istream-concat.c Mon Apr 05 09:18:14 2010 +0300
@@ -65,6 +65,7 @@
test_istream_set_allow_eof(streams[i], TRUE);
}
streams[i] = NULL;
+ i_assert(offset > 0);
input = i_stream_create_concat(streams);
for (i = 0; i < 100; i++) {
diff -r 462376c65e73 -r c32f55615055 src/lib/test-istream-seekable.c
--- a/src/lib/test-istream-seekable.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/lib/test-istream-seekable.c Mon Apr 05 09:18:14 2010 +0300
@@ -83,6 +83,7 @@
test_istream_set_allow_eof(streams[i], TRUE);
}
streams[i] = NULL;
+ i_assert(offset > 0);
buffer_size = (rand() % 100) + 1; size = 0;
input = i_stream_create_seekable(streams, buffer_size, fd_callback, NULL);
diff -r 462376c65e73 -r c32f55615055 src/plugins/expire/expire-plugin.c
--- a/src/plugins/expire/expire-plugin.c Mon Apr 05 09:17:31 2010 +0300
+++ b/src/plugins/expire/expire-plugin.c Mon Apr 05 09:18:14 2010 +0300
@@ -101,7 +101,7 @@
struct expire_mailbox *xpr_box = EXPIRE_CONTEXT(t->box);
struct expire_transaction_context *xt = EXPIRE_CONTEXT(t);
struct mailbox *box = t->box;
- time_t new_stamp;
+ time_t new_stamp = 0;
bool update_dict = FALSE;
int ret;
More information about the dovecot-cvs
mailing list