summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-13 19:32:53 +0100
committerwm4 <wm4@nowhere>2015-01-13 19:33:16 +0100
commit9418f884750e2837c51dea9bd300a5e4b3a8f16c (patch)
tree1f3f31ebece7554641c83e364b23b347a33e003d
parent53a5923ba1d016534907d7a8869968c7afeb02cd (diff)
downloadmpv-9418f884750e2837c51dea9bd300a5e4b3a8f16c.tar.bz2
mpv-9418f884750e2837c51dea9bd300a5e4b3a8f16c.tar.xz
client API: fix log buffer overflow case
It just crashed. The prefix and text fields point to static strings in this case. Oops. Fixes the issue mentioned in #838.
-rw-r--r--player/client.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/player/client.c b/player/client.c
index dee890efb3..50daf45393 100644
--- a/player/client.c
+++ b/player/client.c
@@ -751,13 +751,13 @@ mpv_event *mpv_wait_event(mpv_handle *ctx, double timeout)
event->event_id = MPV_EVENT_LOG_MESSAGE;
struct mpv_event_log_message *cmsg = talloc_ptrtype(event, cmsg);
*cmsg = (struct mpv_event_log_message){
- .prefix = talloc_steal(event, msg->prefix),
+ .prefix = msg->prefix,
.level = mp_log_levels[msg->level],
.log_level = mp_mpv_log_levels[msg->level],
- .text = talloc_steal(event, msg->text),
+ .text = msg->text,
};
+ talloc_steal(event, msg);
event->data = cmsg;
- talloc_free(msg);
break;
}
}