In xfce_backdrop_image_data_release, at the end, after freeing it tries to null image_data. It isn't harmful on itself, as it has no effect whatsoever, but could lead to double frees or reading freed memory if it's used assuming this actually has any effect. I can think of three possible fixes, and both imply the review of every call to the function, I lack the time to do so right now but will do it later if someone asks me too (otherwise, I'll assume the maintainer will take a look). Fix one would be to keep the freeing as it is and nullifying after every call (ugly, IMO), fix two would be making the caller free image_data after use (IMO, the sanest solution) and fix three would be to pass a pointer to the pointer, so the contents could be freed (the caller would pass a reference, of course) and nullified effectively.
You're absolutely right. I've fixed it in http://git.xfce.org/xfce/xfdesktop/commit/?id=c2e627b4288ac6f459ea8428a4fa0bd83e804349 I went with option 2 since it is the best. Thanks for reporting this!