summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-13 19:32:53 +0100
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2015-01-25 17:00:08 +0900
commit8d3259a3919aefd116941b9c5902340b52010f61 (patch)
treea29979ba6adf358c64fcde732acebf341f3d77d2
parentfaf561c4ec3192e0dcef243110c88799cf4dee6a (diff)
downloadmpv-8d3259a3919aefd116941b9c5902340b52010f61.tar.bz2
mpv-8d3259a3919aefd116941b9c5902340b52010f61.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 eaead01006..7e9d9b5247 100644
--- a/player/client.c
+++ b/player/client.c
@@ -691,13 +691,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;
}
}