dovecot-2.2: lib-settings: Make static analyzer happier.
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 20 03:26:30 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/94286d055872
changeset: 14392:94286d055872
user: Timo Sirainen <tss at iki.fi>
date: Mon Mar 26 20:46:55 2012 +0300
description:
lib-settings: Make static analyzer happier.
diffstat:
src/lib-settings/settings-parser.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diffs (50 lines):
diff -r ba1fc76e3a2c -r 94286d055872 src/lib-settings/settings-parser.c
--- a/src/lib-settings/settings-parser.c Mon Mar 26 20:39:09 2012 +0300
+++ b/src/lib-settings/settings-parser.c Mon Mar 26 20:46:55 2012 +0300
@@ -773,7 +773,8 @@
}
do {
- if (link->info == &strlist_info) {
+ if (def == NULL) {
+ i_assert(link->info == &strlist_info);
settings_parse_strlist(ctx, link, key, value);
return 1;
}
@@ -804,6 +805,7 @@
return NULL;
if (def == NULL) {
/* strlist */
+ i_assert(link->info == &strlist_info);
return key;
}
@@ -823,7 +825,7 @@
if (!settings_find_key(ctx, key, &def, &link))
return NULL;
- if (link->set_struct == NULL)
+ if (link->set_struct == NULL || def == NULL)
return NULL;
*type_r = def->type;
@@ -839,7 +841,7 @@
if (!settings_find_key(ctx, key, &def, &link))
return FALSE;
- if (link->change_struct == NULL)
+ if (link->change_struct == NULL || def == NULL)
return FALSE;
p = STRUCT_MEMBER_P(link->change_struct, def->offset);
@@ -1159,8 +1161,9 @@
if (!settings_find_key(ctx, key, &def, &link))
return;
- if (link->info == &strlist_info) {
+ if (def == NULL) {
/* parent is strlist, no expansion needed */
+ i_assert(link->info == &strlist_info);
return;
}
More information about the dovecot-cvs
mailing list