summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c13
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;