<div dir="ltr"><div>Hello Pixmen,</div><div><br></div><div>I wish to use libpixman.so with my (C code) loadable DSO (dynamic shared object) library</div><div>modules.  I wrote a patch that fixes libpixman.so so that memory allocated in the pixman</div><div>library constructor is freed in a (newly added) library destructor function.  When I unload</div><div>the last module that depends on libpixman.so I get a memory leak without the attached</div><div>patch.<br></div><div><br></div><div>The attached patch is only 29 lines (total) over 2 files.</div><div><br></div><div>I tested it on git commit ffa5645a2d139106a9154406e3b413fad14fe588  HEAD master<br>from <a href="https://gitlab.freedesktop.org/pixman/pixman" target="_blank">https://gitlab.freedesktop.org/pixman/pixman</a></div><div><br></div><div><br></div><div>FOOD FOR THOUGHT (i.e. verbose):<br></div><div><div>This patch fixes my needs, but one might also consider adding a <span>corresponding</span> "undo-er"</div><div>function which corresponds with the get_implementation() function; but it may be matter of</div><div>debate as to how that would be used (if at all) aside from being used in the library</div><div>destructor function (where it sits in this patch).</div><div><br></div><div>I was using Valgrind.  On my computer (x86  AMD Ryzen 7) libpixman.so made 6 unfreed</div><div>malloc() allocations (which the patch fixes).  I can provide test scripts if requested.  Currently</div><div>my test scripts are integrated in the software package I'm working on.  I wish to write a robust</div><div>software package, and hence, that requires that dependency libraries also be robust (or</div><div>whatever you want to call it).</div><div><br></div><div><br></div><div>cheers</div><div>lance</div><div><br></div></div></div>