<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Memory Leak in win32-display-surface"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=67171#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Memory Leak in win32-display-surface"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=67171">bug 67171</a>
              from <span class="vcard"><a class="email" href="mailto:eraquila@hotmail.com" title="Martin B <eraquila@hotmail.com>"> <span class="fn">Martin B</span></a>
</span></b>
        <pre>(In reply to Fred from <a href="show_bug.cgi?id=67171#c3">comment #3</a>)
<span class="quote">> Created <span class=""><a href="attachment.cgi?id=122751" name="attach_122751" title="Proposed patch to fix the leak">attachment 122751</a> <a href="attachment.cgi?id=122751&action=edit" title="Proposed patch to fix the leak">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=67171&attachment=122751'>[review]</a> [review]
> Proposed patch to fix the leak

> Here is a simple patch to fix the issue by adding the appropriate call in
> the debug reset static data function.</span >

Hi,

I tried the solution your proposed but I'm still getting leak on :

_cairo_win32_device_get
---> device = malloc (sizeof (*device));

Dumping objects ->
{537} normal block at 0x01141E10, 1032 bytes long.
 Data: <        8+   *  > 10 1E 14 01 C8 19 14 01 38 2B CC 01 90 2A CC 01 
{536} normal block at 0x011419C8, 1032 bytes long.
 Data: <        xW   o  > 10 1E 14 01 80 15 14 01 78 57 CC 01 D8 6F CC 01 
{535} normal block at 0x01141580, 1032 bytes long.
 Data: <    8   8v   u  > 10 1E 14 01 38 11 14 01 38 76 CC 01 D8 75 CC 01 
{534} normal block at 0x01141138, 1032 bytes long.
 Data: <      R 8,   ?  > 10 1E 14 01 B8 D7 52 00 38 2C CC 01 A0 3F CC 01 
{394} normal block at 0x0052D7B8, 1032 bytes long.
 Data: <         J   J  > 10 1E 14 01 00 00 00 00 B8 4A CC 01 08 4A CC 01 
{379} normal block at 0x0052B7A8, 52 bytes long.
 Data: <                > 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
Object dump complete.

I use Intel Parallel Inspector too and the same leak is related. Here is the
log

P8: Warning: Memory not deallocated: New
 P8.26: Warning: Memory not deallocated: 52 Bytes: New
 
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-device.c(137):
Warning X40: Allocation site: Function cairo_win32_device_get: Module
H:\DevelopmentTests\Cairo\cairo\Release\MFCTest.exe
  Code snippet:
   135      return cairo_device_reference (__cairo_win32_device);
   136  
  >137      device = malloc (sizeof (*device));
   138  
   139      _cairo_device_init (&device->base, &_cairo_win32_device_backend);

  Stack (1 of 1 instance(s))
  >MFCTest.exe!cairo_win32_device_get -
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-device.c:137
   MFCTest.exe!cairo_win32_surface_create -
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-display-surface.c:983
   MFCTest.exe!WindowProc -
h:\developmenttests\cairo\cairo\mfctest\mfctestdlg.cpp:73
   MFCTest.exe!AfxCallWndProc -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp:240
   MFCTest.exe!AfxWndProc -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp:402
   USER32.dll!gapfnScSendMessage - C:\Windows\syswow64\USER32.dll:0x162f7
   USER32.dll!GetDC - C:\Windows\syswow64\USER32.dll:0x17311
   USER32.dll!GetThreadDesktop - C:\Windows\syswow64\USER32.dll:0x16de3
   USER32.dll!GetThreadDesktop - C:\Windows\syswow64\USER32.dll:0x16e41
   ntdll.dll!KiUserCallbackDispatcher - C:\Windows\SysWOW64\ntdll.dll:0x10107
   Unknown![Unknown] - :0x0
   USER32.dll!SendMessageW - C:\Windows\syswow64\USER32.dll:0x19773
   USER32.dll!UpdateWindow - C:\Windows\syswow64\USER32.dll:0x23598
   USER32.dll!IsCharAlphaA - C:\Windows\syswow64\USER32.dll:0x3b98d
   USER32.dll!CreateDialogIndirectParamAorW -
C:\Windows\syswow64\USER32.dll:0x410ce
   USER32.dll!CreateDialogIndirectParamW -
C:\Windows\syswow64\USER32.dll:0x2c654
   MFCTest.exe!CreateDlgIndirect -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgcore.cpp:312

 P8.30: Warning: Memory not deallocated: 4128 Bytes: New
  h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c(38): Warning X44:
Allocation site: Function pixman_implementation_create: Module
H:\test\Cairo\cairo\Debug\MFCTest.exe
  Code snippet:
   36      assert (fast_paths);
   37  
  >38      if ((imp = malloc (sizeof (pixman_implementation_t))))
   39      {
   40      pixman_implementation_t *d;

  Stack (1 of 1 instance(s))
  >MFCTest.exe!pixman_implementation_create -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:38
   MFCTest.exe!pixman_implementation_create_mmx -
h:\test\cairo\cairo\pixman\pixman\pixman-mmx.c:4021
   MFCTest.exe!pixman_x86_get_implementations -
h:\test\cairo\cairo\pixman\pixman\pixman-x86.c:234
   MFCTest.exe!pixman_choose_implementation -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:393
   MFCTest.exe!fill_xrgb32_lerp_opaque_spans -
h:\test\cairo\cairo\\src\cairo-image-compositor.c:2190
   MFCTest.exe!blit_a8 -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1600
   MFCTest.exe!glitter_scan_converter_render -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1750
   MFCTest.exe!cairo_tor_scan_converter_generate -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1815
   MFCTest.exe!composite_polygon -
h:\test\cairo\cairo\\src\cairo-spans-compositor.c:778
   MFCTest.exe!clip_and_composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:945
   MFCTest.exe!cairo_spans_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:1059
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_image_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-image-surface.c:958
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183
   MFCTest.exe!cairo_surface_offset_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface-offset.c:187
   MFCTest.exe!cairo_fallback_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-fallback-compositor.c:119
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159

 P8.31: Warning: Memory not deallocated: 1032 Bytes: New
  h:\test\cairo\cairo\pixman\pixman\pixman-general.c(239): Warning X45:
Allocation site: Function pixman_implementation_create_general: Module
H:\test\Cairo\cairo\Debug\MFCTest.exe
  Code snippet:
   237  _pixman_implementation_create_general (void)
   238  {
  >239      pixman_implementation_t *imp = _pixman_implementation_create (NULL,
general_fast_path);
   240  
   241      _pixman_setup_combiner_functions_32 (imp);

  Stack (1 of 1 instance(s))
  >MFCTest.exe!pixman_implementation_create_general -
h:\test\cairo\cairo\pixman\pixman\pixman-general.c:239
   MFCTest.exe!pixman_choose_implementation -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:388
   MFCTest.exe!fill_xrgb32_lerp_opaque_spans -
h:\test\cairo\cairo\cairo\src\cairo-image-compositor.c:2190
   MFCTest.exe!blit_a8 -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1600
   MFCTest.exe!glitter_scan_converter_render -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1750
   MFCTest.exe!cairo_tor_scan_converter_generate -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1815
   MFCTest.exe!composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:778
   MFCTest.exe!clip_and_composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:945
   MFCTest.exe!cairo_spans_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:1059
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_image_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-image-surface.c:958
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183
   MFCTest.exe!cairo_surface_offset_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface-offset.c:187
   MFCTest.exe!cairo_fallback_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-fallback-compositor.c:119
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_win32_display_surface_stroke -
h:\test\cairo\cairo\cairo\src\win32\cairo-win32-display-surface.c:844
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>