
At 2011-4-27 14:40, Daniel Veillard write:
On Tue, Apr 26, 2011 at 09:20:31AM +0800, Hu Tao wrote:
virsh schedinfo inactive-domain will trigger the problem.
I can reproduce this problem, and it will cause libvirtd crashed. I use gdb to analyze the core file, and see ret->params.params_val is NULL. So this patch is good fix.
--- daemon/remote.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/daemon/remote.c b/daemon/remote.c index 1c98bba..eedbc77 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -945,8 +945,11 @@ remoteDispatchDomainGetSchedulerParameters(struct qemud_server *server ATTRIBUTE cleanup: if (rv< 0) { remoteDispatchError(rerr); - for (i = 0 ; i< nparams ; i++) - VIR_FREE(ret->params.params_val[i].field); + if (ret->params.params_val) { + for (i = 0 ; i< nparams ; i++) + VIR_FREE(ret->params.params_val[i].field); + VIR_FREE(ret->params.params_val); + } } if (dom) virDomainFree(dom);
ACK, a daemon leak, good fix !
Thanks, applied.
Daniel