X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=windows%2Fwinctrls.c;h=49c13e8dc2ddfcf9968403afc97d70d6d258a0d2;hb=cc66c86e7311c97db09da989c340ba3108c9e14f;hp=c9300cdd82d10057c08cdda34a0a1d8d011cc407;hpb=535d77abf017ef36de213e4d1313c35e760788b4;p=PuTTY.git diff --git a/windows/winctrls.c b/windows/winctrls.c index c9300cdd..49c13e8d 100644 --- a/windows/winctrls.c +++ b/windows/winctrls.c @@ -448,6 +448,8 @@ char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines) if (lines) *lines = nlines; + sfree(pwidths); + return ret; } @@ -1665,7 +1667,9 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc, winctrl_add_shortcuts(dp, c); if (actual_base_id == base_id) base_id += num_ids; - } + } else { + sfree(data); + } if (colstart >= 0) { /* @@ -2366,6 +2370,8 @@ void dlg_set_focus(union control *ctrl, void *dlg) struct winctrl *c = dlg_findbyctrl(dp, ctrl); int id; HWND ctl; + if (!c) + return; switch (ctrl->generic.type) { case CTRL_EDITBOX: id = c->base_id + 1; break; case CTRL_RADIO: