Thanks Metze for review!
Guenther
*key_buffer = NULL;
if (offered) {
*key_buffer = NULL;
if (offered) {
- buffer = talloc_array(mem_ctx, uint16_t, offered);
+ buffer = talloc_array(mem_ctx, uint16_t, offered/2);
W_ERROR_HAVE_NO_MEMORY(buffer);
}
W_ERROR_HAVE_NO_MEMORY(buffer);
}
if (W_ERROR_EQUAL(werror, WERR_MORE_DATA)) {
offered = needed;
if (W_ERROR_EQUAL(werror, WERR_MORE_DATA)) {
offered = needed;
- buffer = talloc_realloc(mem_ctx, buffer, uint16_t, needed);
+ buffer = talloc_realloc(mem_ctx, buffer, uint16_t, needed/2);
W_ERROR_HAVE_NO_MEMORY(buffer);
status = rpccli_spoolss_EnumPrinterKey(cli, mem_ctx,
handle,
W_ERROR_HAVE_NO_MEMORY(buffer);
status = rpccli_spoolss_EnumPrinterKey(cli, mem_ctx,
handle,
- if (r->in.offered == blob.length) {
+ if (r->in.offered >= blob.length) {
memcpy(r->out.key_buffer, blob.data, blob.length);
}
memcpy(r->out.key_buffer, blob.data, blob.length);
}