Revert "s4:registry - util.c - add harder checks for inputs on "reg_val_data_string""
authorWilco Baan Hofman <wilco@baanhofman.nl>
Sun, 28 Mar 2010 15:03:08 +0000 (17:03 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 29 Mar 2010 16:44:00 +0000 (18:44 +0200)
This reverts commit eb8c8a0ecaa9bfd29f090db21fccdad7751767ae.

Conflicts:

source4/lib/registry/util.c

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
source4/lib/registry/util.c

index e6cd8de640490d360364d975dca8f2bffb07af2d..18eb4ec626597d51a9754804ffac55191d7e7abf 100644 (file)
@@ -71,31 +71,27 @@ _PUBLIC_ char *reg_val_data_string(TALLOC_CTX *mem_ctx,
        switch (type) {
                case REG_EXPAND_SZ:
                case REG_SZ:
-                       if (data.length % 2 == 0) {
-                               convert_string_talloc_convenience(mem_ctx,
-                                                                 iconv_convenience,
-                                                                 CH_UTF16, CH_UNIX,
-                                                                 data.data,
-                                                                 data.length,
-                                                                 (void **)&ret,
-                                                                 NULL, false);
-                       }
+                       convert_string_talloc_convenience(mem_ctx,
+                                                         iconv_convenience,
+                                                         CH_UTF16, CH_UNIX,
+                                                         data.data,
+                                                         data.length,
+                                                         (void **)&ret,
+                                                         NULL, false);
                        break;
                case REG_BINARY:
                        ret = data_blob_hex_string_upper(mem_ctx, &data);
                        break;
                case REG_DWORD:
                case REG_DWORD_BIG_ENDIAN:
-                       if (data.length == sizeof(uint32_t)) {
+                       SMB_ASSERT(data.length == sizeof(uint32_t));
                                ret = talloc_asprintf(mem_ctx, "0x%8.8x",
                                                      IVAL(data.data, 0));
-                       }
                        break;
                case REG_QWORD:
-                       if (data.length == sizeof(uint64_t)) {
-                               ret = talloc_asprintf(mem_ctx, "0x%16.16llx",
-                                                     BVAL(data.data, 0));
-                       }
+                       SMB_ASSERT(data.length == sizeof(uint64_t));
+                       ret = talloc_asprintf(mem_ctx, "0x%16.16llx",
+                                             BVAL(data.data, 0));
                        break;
                case REG_NONE:
                        /* "NULL" is the right return value */