No response? It's simple change and fixes client triggered crash... On Tuesday April 15 2014 18:54:35 Michal Srb wrote: > Checking the iterating variable ("slave") against null can not detect if the > xorg_list_for_each_entry finished without break being invoked - slave > variable will be always non-null. This caused segfault whenever someone > tried to use DRI_PRIME with incorrect id while having at least one render > offloading slave configured. > > Restructurize the GetScreenPrime to work as expected. > > diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c > index 729a323..5b2c662 100644 > --- a/hw/xfree86/dri2/dri2.c > +++ b/hw/xfree86/dri2/dri2.c > @@ -156,11 +156,9 @@ GetScreenPrime(ScreenPtr master, int prime_id) > > ds = DRI2GetScreen(slave); > if (ds->prime_id == prime_id) > - break; > + return slave; > } > - if (!slave) > - return master; > - return slave; > + return master; > } > > static DRI2ScreenPtr > > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel