Hi,<br><br>There are some memory leaks if a vtkPNGWriter fails to write a file if we are out of disk space.<br><br>Here comes a diff patch to avoid this:<br><br>@@ -198,6 +198,8 @@<br>&nbsp;&nbsp; this-&gt;TempFP = 0;<br>+&nbsp; png_byte **row_pointers;
<br>+<br>&nbsp;&nbsp; if (this-&gt;WriteToMemory)<br>&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; vtkUnsignedCharArray *uc = this-&gt;GetResult();<br>@@ -227,6 +229,9 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (setjmp(png_ptr-&gt;jmpbuf))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fclose(this-&gt;TempFP);
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(row_pointers)<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete [] row_pointers;<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; png_destroy_write_struct(&amp;png_ptr, &amp;info_ptr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;SetErrorCode(vtkErrorCode::OutOfDiskSpaceError);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>@@ -272,7 +277,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; png_set_swap(png_ptr);<br>&nbsp;#endif<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>-&nbsp; png_byte **row_pointers = new png_byte *[height];<br>+&nbsp; row_pointers = new png_byte *[height];<br>&nbsp;&nbsp; vtkIdType *outInc = data-&gt;GetIncrements();
<br>&nbsp;&nbsp; vtkIdType rowInc = outInc[1]*bit_depth/8;<br>&nbsp;&nbsp; for (ui = 0; ui &lt; height; ui++)<br><br><br>I reported it in the bug tracker (number 5815)<br><br>HTH<br><br><br>xabi.<br>