Eduardo Habkost <ehabk...@redhat.com> writes: > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > Cc: Anthony Liguori <aligu...@amazon.com> > Cc: Amos Kong <ak...@redhat.com> > --- > backends/rng-egd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/backends/rng-egd.c b/backends/rng-egd.c > index 25bb3b4..2962795 100644 > --- a/backends/rng-egd.c > +++ b/backends/rng-egd.c > @@ -169,6 +169,7 @@ static void rng_egd_set_chardev(Object *obj, const char > *value, Error **errp) > if (b->opened) { > error_set(errp, QERR_PERMISSION_DENIED); > } else { > + g_free(s->chr_name); > s->chr_name = g_strdup(value); > } > }
I see you searched for the bug elsewhere. Appreciated. Do you think you got them all? Aside: I hate if (bad) { handle error } else { continue normal work } The normal flow gets nested deeper and deeper. When the code grows, normal work can easily end up after the conditional by mistake. Better: if (bad) { handle error return } continue normal work Anyway, not your fault. Reviewed-by: Markus Armbruster <arm...@redhat.com>