changeset 20738:cbe6312ff0e9

dict-client: Don't crash if dict-server returns broken reply. Just treat missing <tab>value as empty value.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sat, 10 Sep 2016 11:13:58 +0300
parents eb00bf4af260
children 607dad4f8c4c
files src/lib-dict/dict-client.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-dict/dict-client.c	Fri Sep 09 18:18:32 2016 +0300
+++ b/src/lib-dict/dict-client.c	Sat Sep 10 11:13:58 2016 +0300
@@ -893,7 +893,10 @@
 		return;
 	}
 
-	key = t_strdup_until(key, value++);
+	if (value != NULL)
+		key = t_strdup_until(key, value++);
+	else
+		value = "";
 	result = array_append_space(&ctx->results);
 	result->key = p_strdup(ctx->results_pool, t_str_tabunescape(key));
 	result->value = p_strdup(ctx->results_pool, t_str_tabunescape(value));