diff options
| author | Po Lu | 2022-01-14 09:46:50 +0000 |
|---|---|---|
| committer | Po Lu | 2022-01-14 09:46:50 +0000 |
| commit | e0268fd7d54bb691da1d68fafa3707ec6417a3d2 (patch) | |
| tree | 7846e5a74a9ea7b03cfb72dca428a102864a3a58 /src | |
| parent | a970a2a48926d2eca0b767d01c809fbebdc320d7 (diff) | |
| download | emacs-e0268fd7d54bb691da1d68fafa3707ec6417a3d2.tar.gz emacs-e0268fd7d54bb691da1d68fafa3707ec6417a3d2.zip | |
Fix leak when refs are sent to a frame during destruction on Haiku
* src/haikuterm.c (haiku_read_socket): Free b->ref if it was
sent from a frame that was destroyed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/haikuterm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/haikuterm.c b/src/haikuterm.c index 47199c139c6..3e99cc1c8d9 100644 --- a/src/haikuterm.c +++ b/src/haikuterm.c | |||
| @@ -3235,7 +3235,10 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit) | |||
| 3235 | struct frame *f = haiku_window_to_frame (b->window); | 3235 | struct frame *f = haiku_window_to_frame (b->window); |
| 3236 | 3236 | ||
| 3237 | if (!f) | 3237 | if (!f) |
| 3238 | continue; | 3238 | { |
| 3239 | free (b->ref); | ||
| 3240 | continue; | ||
| 3241 | } | ||
| 3239 | 3242 | ||
| 3240 | inev.kind = DRAG_N_DROP_EVENT; | 3243 | inev.kind = DRAG_N_DROP_EVENT; |
| 3241 | inev.arg = build_string_from_utf8 (b->ref); | 3244 | inev.arg = build_string_from_utf8 (b->ref); |