]> code.delx.au - spectrwm/commitdiff
Fix use of free'd memory.
authorReginald Kennedy <rk@rejii.com>
Sun, 26 Aug 2012 12:10:30 +0000 (20:10 +0800)
committerReginald Kennedy <rk@rejii.com>
Sun, 26 Aug 2012 12:30:10 +0000 (20:30 +0800)
Fix memory leak.

Submitted by: Campbell Barton (ideasman42)

spectrwm.c

index d7a43293f619fca2d0859739b22c5b2132a6d75c..a9ad9135ede06400df1cca720653b80c415715e7 100644 (file)
@@ -829,6 +829,8 @@ expand_tilde(char *s)
        s = &s[i];
 
        ppwd = strlen(user) == 0 ? getpwuid(getuid()) : getpwnam(user);
+       free(user);
+
        if (ppwd == NULL)
                result = strdup(sc);
        else
@@ -8333,7 +8335,6 @@ grab_windows(void)
                                free(r);
                                continue;
                        }
-                       free(r);
 
                        state = getstate(wins[j]);
                        manage = state != XCB_ICCCM_WM_STATE_WITHDRAWN;
@@ -8342,6 +8343,7 @@ grab_windows(void)
                        if (xcb_icccm_get_wm_transient_for_reply(conn, pc,
                            &trans, NULL) && manage)
                                manage_window(wins[j], mapped);
+                       free(r);
                }
                free(qtr);
        }