Skip to content
  • Alan Coopersmith's avatar
    Free strings allocated by GetAtomName instead of letting them leak · 15f58117
    Alan Coopersmith authored and Peter Hutterer's avatar Peter Hutterer committed
    
    
    Fixes errors reported by Parfait 0.5.0.1 bug checking tool:
    
    Error: Memory leak (CWE 401)
       Memory leak of pointer '<unknown>' allocated with XGetAtomName(dpy, info->type)
            at line 122 of src/list.c in function 'print_info'.
              pointer allocated at line 84 with XGetAtomName(dpy, info->type).
              <unknown> leaks when i >= info->num_classes at line 88.
    Error: Memory leak (CWE 401)
       Memory leak of pointer '<unknown>' allocated with XGetAtomName(dpy, a)
            at line 160 of src/property.c in function 'print_property'.
              pointer allocated at line 131 with XGetAtomName(dpy, a).
       Memory leak of pointer '<unknown>' allocated with XGetAtomName(dpy, act_type)
            at line 160 of src/property.c in function 'print_property'.
              pointer allocated at line 143 with XGetAtomName(dpy, act_type).
       Memory leak of pointer 'name' allocated with XGetAtomName(dpy, property)
            at line 160 of src/property.c in function 'print_property'.
              'name' allocated at line 61 with XGetAtomName(dpy, property).
    Error: Memory leak (CWE 401)
       Memory leak of pointer '<unknown>' allocated with XGetAtomName(dpy, a)
            at line 521 of src/property.c in function 'print_property_xi2'.
              pointer allocated at line 491 with XGetAtomName(dpy, a).
       Memory leak of pointer '<unknown>' allocated with XGetAtomName(dpy, act_type)
            at line 521 of src/property.c in function 'print_property_xi2'.
              pointer allocated at line 504 with XGetAtomName(dpy, act_type).
       Memory leak of pointer 'name' allocated with XGetAtomName(dpy, property)
            at line 521 of src/property.c in function 'print_property_xi2'.
              'name' allocated at line 428 with XGetAtomName(dpy, property).
    
    Confirmed with Solaris Studio runtime checker that "list-props" now has
    fewer leaks than before and "watch-props" no longer leaks a string every
    time a property changes.
    
    Signed-off-by: default avatarAlan Coopersmith <alan.coopersmith@oracle.com>
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    15f58117