diff options
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index a97ecdecaf..b70376f52a 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -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; |