<div>In Xorg-1.12.0, in a random scenario Xorg server crashes in damageRegionProcessPending (DrawablePtr pDrawable) {src/miext/damage/damage.c} when the (*pDamage->damageMarker) call is made.</div><div><br></div><div><div>
<span style="white-space:pre-wrap">     </span>/* submit damage marker whenever possible. */</div><div><span style="white-space:pre-wrap">    </span>if (pDamage->damageMarker)</div><div><span style="white-space:pre-wrap">    </span>    <b><font color="#ff0000">(*pDamage->damageMarker) (pDrawable, pDamage, &pDamage->backupDamage, &pDamage->pendingDamage, pDamage->closure);</font></b></div>
<div><br></div></div><div>But pDamage->damageMarker is initialized with NULL in DamageCreate function, and there after no explicit function assignment is found in the source. Not clear who has assigned a valid function to pDamage->damageMarker.</div>
<div><br></div><div>This (*pDamage->damageMarker) call crashes explicitly when it a call initiated from CloseDownClient () calls this.</div><div><br></div><div>Can some one throw any light, on the purpose of pDamage->damageMarker function and what is it supposed to do? and who should be using it?</div>