summaryrefslogtreecommitdiffstats
path: root/mp_msg.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-07-02 23:43:09 +0000
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-11-02 04:14:20 +0200
commit63b69b312c8e89b19422b5e0bae02c80858e6f6e (patch)
treee140179abe2ee5d4288db8ca9492bfe67ac311fd /mp_msg.c
parent61ed4c2945866ffc603fc085e1292346868cd66d (diff)
downloadmpv-63b69b312c8e89b19422b5e0bae02c80858e6f6e.tar.bz2
mpv-63b69b312c8e89b19422b5e0bae02c80858e6f6e.tar.xz
mp_msg.c: Avoid out-of-bounds read if empty string is printed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31626 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp_msg.c')
-rw-r--r--mp_msg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mp_msg.c b/mp_msg.c
index ab7b969c84..ff8420833f 100644
--- a/mp_msg.c
+++ b/mp_msg.c
@@ -234,7 +234,9 @@ void mp_msg_va(int mod, int lev, const char *format, va_list va)
if (header)
print_msg_module(stream, mod);
set_msg_color(stream, lev);
- header = tmp[strlen(tmp)-1] == '\n' || tmp[strlen(tmp)-1] == '\r';
+
+ size_t len = strlen(tmp);
+ header = len && (tmp[len-1] == '\n' || tmp[len-1] == '\r');
fprintf(stream, "%s", tmp);
if (mp_msg_color)