On Fri, 2021-02-26 at 15:41 +0100, Bernhard Übelacker wrote: > The attached patch is an attempt to grow the buffer size > if the header changes on a new page. > This is just tested for the given crash, nothing more, therefore > there might be side effects on replacing this buffer?
It doesn't look unreasonable to me, although the related shuffling of pointers between rgbRaster, kRaster and m_pPrinterBuffer makes my head hurt a bit (this code could really do with a dollop of modern c++ memory management idiom). Do you think there is a need to preserve the current contents (e.g. something approximating realloc rather than delete+new)? Or maybe it is fine to simply unconditionally allocate a new buffer each time round the loop? It could almost be a local variable like *Raster at that point... But I think if you are looking for a minimal fix your patch seems pretty sensible to me (speaking as a competent enough C/C++ programmer but not someone familiar with this codebase before today). Ian.