From 2f86a06528ab971822a1c8b9a217ee1f29f50d71 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 26 May 2014 21:53:20 +0200 Subject: x11: fix datatype for _NET_WM_PID Setting this property was added 12 years ago, and the code was always incorrect. The underlying data type is "long", not "pid_t". It's well possible that the data types are different, and the pointer to the pid variable is directly passed to XChangeProperty, possibly invoking undefined behavior. It's funny, because in theory using pid_t for PIDs sounds more correct. --- video/out/x11_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 07d3713f5d..7403c0d892 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -668,7 +668,7 @@ static void vo_x11_classhint(struct vo *vo, Window window, const char *name) struct mp_vo_opts *opts = vo->opts; struct vo_x11_state *x11 = vo->x11; XClassHint wmClass; - pid_t pid = getpid(); + long pid = getpid(); wmClass.res_name = opts->winname ? opts->winname : (char *)name; wmClass.res_class = "mpv"; -- cgit v1.2.3