On Thu, Jul 11, 2013 at 18:27:14 -0400, Alex Deucher wrote: > On Thu, Jul 11, 2013 at 6:02 PM, Julien Cristau <[email protected]> wrote: > > On Mon, Jun 17, 2013 at 12:39:20 -0400, [email protected] wrote: > > > >> From: Leo Liu <[email protected]> > >> > >> leak happens when looping xrandr prop. > >> > >> Signed-off-by: Leo Liu <[email protected]> > >> --- > >> hw/xfree86/common/xf86Helper.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/hw/xfree86/common/xf86Helper.c > >> b/hw/xfree86/common/xf86Helper.c > >> index 721159d..bb17ecc 100644 > >> --- a/hw/xfree86/common/xf86Helper.c > >> +++ b/hw/xfree86/common/xf86Helper.c > >> @@ -1813,6 +1813,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom > >> property, Atom type, > >> } > >> else { > >> free(pNewProp->name); > >> + free(pNewProp->data); > >> existing = TRUE; > >> } > >> > > AFAICT xf86RegisterRootWindowProperty can be called with non-malloc > > 'value' (e.g. for the SeatId stuff in InitOutput, although that's only > > for serverGeneration == 1). Is there any way to make this a little more > > obviously correct? > > How about: > > else { > free(pNewProp->name); > + if(pNewProp->data) > + free(pNewProp->data); > existing = TRUE; > That doesn't really change anything. I was thinking more of making sure that function is always called with malloced data.
Cheers, Julien _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
