]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3-spoolss: fix _spoolss_EnumPrinterDataEx after idl
authorGünther Deschner <gd@samba.org>
Thu, 4 Mar 2010 15:47:33 +0000 (16:47 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 5 Mar 2010 14:18:01 +0000 (15:18 +0100)
Guenther

source3/rpc_server/srv_spoolss_nt.c

index a97ecdecaff74f00899f3ae9ffdb8502af2ef57f..b70376f52aa3ed62a19480892d3383cd30295350 100644 (file)
@@ -9090,9 +9090,7 @@ static WERROR registry_value_to_printer_enum_value(TALLOC_CTX *mem_ctx,
                                                   struct regval_blob *v,
                                                   struct spoolss_PrinterEnumValues *r)
 {
-       WERROR result;
-
-       r->data = TALLOC_ZERO_P(mem_ctx, union spoolss_PrinterData);
+       r->data = TALLOC_ZERO_P(mem_ctx, DATA_BLOB);
        W_ERROR_HAVE_NO_MEMORY(r->data);
 
        r->value_name   = talloc_strdup(mem_ctx, regval_name(v));
@@ -9102,14 +9100,7 @@ static WERROR registry_value_to_printer_enum_value(TALLOC_CTX *mem_ctx,
        r->data_length  = regval_size(v);
 
        if (r->data_length) {
-               DATA_BLOB blob = data_blob_const(regval_data_p(v),
-                                                regval_size(v));
-               result = pull_spoolss_PrinterData(mem_ctx, &blob,
-                                                 r->data,
-                                                 r->type);
-               if (!W_ERROR_IS_OK(result)) {
-                       return result;
-               }
+               *r->data = data_blob_talloc(r->data, regval_data_p(v), regval_size(v));
        }
 
        return WERR_OK;