aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-05-03 00:30:03 -0400
committerJesse Luehrs <doy@tozt.net>2016-05-03 00:30:03 -0400
commit853537d7813125fbd0a1e1167ab40ce5bc8b99eb (patch)
treecebb56db3b80ad6bf19ea740f1b7f935d47fcc67
parent9318d745fd31737135c65fa5c416ee1ba8f7a30a (diff)
downloadrunes-853537d7813125fbd0a1e1167ab40ce5bc8b99eb.tar.gz
runes-853537d7813125fbd0a1e1167ab40ce5bc8b99eb.zip
don't read uninit memory if the selection goes away
m---------libvt1000
-rw-r--r--src/window-xlib.c12
2 files changed, 7 insertions, 5 deletions
diff --git a/libvt100 b/libvt100
-Subproject a9bb204743db4ea59c92144f47569d40c0789fb
+Subproject b09da58557d35552cb1ddefa206012fafcbaa95
diff --git a/src/window-xlib.c b/src/window-xlib.c
index 692029f..00f4545 100644
--- a/src/window-xlib.c
+++ b/src/window-xlib.c
@@ -902,11 +902,13 @@ static void runes_window_backend_handle_selection_request_event(
}
vt100_screen_get_string_plaintext(&t->scr, start, end, &contents, &len);
- XChangeProperty(
- w->dpy, e->requestor, e->property,
- e->target, 8, PropModeReplace,
- (unsigned char *)contents, len);
- free(contents);
+ if (contents) {
+ XChangeProperty(
+ w->dpy, e->requestor, e->property,
+ e->target, 8, PropModeReplace,
+ (unsigned char *)contents, len);
+ free(contents);
+ }
}
else {
selection.property = None;