From 885a167929c7f5409a6239705ef6142ecc014ff3 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Mon, 22 Mar 2010 12:22:13 +0100 Subject: s4:registry - "util.c" - "reg_string_to_val" - consider always the return values In some cases we didn't consider them. --- source4/lib/registry/util.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source4/lib/registry/util.c') diff --git a/source4/lib/registry/util.c b/source4/lib/registry/util.c index 3c1289956d..b389ea4698 100644 --- a/source4/lib/registry/util.c +++ b/source4/lib/registry/util.c @@ -146,24 +146,26 @@ _PUBLIC_ bool reg_string_to_val(TALLOC_CTX *mem_ctx, break; case REG_SZ: case REG_EXPAND_SZ: - convert_string_talloc_convenience(mem_ctx, - iconv_convenience, - CH_UNIX, CH_UTF16, - data_str, - strlen(data_str)+1, - (void **)&data->data, - &data->length, false); + return convert_string_talloc_convenience(mem_ctx, + iconv_convenience, + CH_UNIX, CH_UTF16, + data_str, + strlen(data_str)+1, + (void **)&data->data, + &data->length, false); break; case REG_DWORD: case REG_DWORD_BIG_ENDIAN: { uint32_t tmp = strtol(data_str, NULL, 0); *data = data_blob_talloc(mem_ctx, NULL, sizeof(uint32_t)); + if (data->data == NULL) return false; SIVAL(data->data, 0, tmp); } break; case REG_QWORD: { uint64_t tmp = strtoll(data_str, NULL, 0); *data = data_blob_talloc(mem_ctx, NULL, sizeof(uint64_t)); + if (data->data == NULL) return false; SBVAL(data->data, 0, tmp); } break; -- cgit