Fix incorrect size given to bqueue_enqueue() call in dmu_redact.c
We pass sizeof (struct redact_record *) rather than sizeof (struct redact_record). Passing the pointer size is wrong. Coverity caught this in two places. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Closes #13885
This commit is contained in:
parent
035e52f591
commit
5096ed31c8
|
@ -141,7 +141,7 @@ record_merge_enqueue(bqueue_t *q, struct redact_record **build,
|
|||
{
|
||||
if (new->eos_marker) {
|
||||
if (*build != NULL)
|
||||
bqueue_enqueue(q, *build, sizeof (*build));
|
||||
bqueue_enqueue(q, *build, sizeof (**build));
|
||||
bqueue_enqueue_flush(q, new, sizeof (*new));
|
||||
return;
|
||||
}
|
||||
|
@ -823,7 +823,7 @@ perform_thread_merge(bqueue_t *q, uint32_t num_threads,
|
|||
avl_destroy(&end_tree);
|
||||
kmem_free(redact_nodes, num_threads * sizeof (*redact_nodes));
|
||||
if (current_record != NULL)
|
||||
bqueue_enqueue(q, current_record, sizeof (current_record));
|
||||
bqueue_enqueue(q, current_record, sizeof (*current_record));
|
||||
return (err);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue