diff options
author | wm4 <wm4@nowhere> | 2013-12-22 23:44:24 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-12-22 23:44:24 +0100 |
commit | 90e4c8589140e5be411f1f169542e1f135ceeefa (patch) | |
tree | 03352a466109f7005431840c7b4c4ffa4b334c1f /demux | |
parent | aefb100e689e702c9d257a575d417e1db13c0221 (diff) | |
download | mpv-90e4c8589140e5be411f1f169542e1f135ceeefa.tar.bz2 mpv-90e4c8589140e5be411f1f169542e1f135ceeefa.tar.xz |
subreader: remove overlapping strcpy
Looks like this relied on undefined behavior.
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux_subreader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/demux/demux_subreader.c b/demux/demux_subreader.c index fa029655fc..2969e1b3b8 100644 --- a/demux/demux_subreader.c +++ b/demux/demux_subreader.c @@ -127,7 +127,8 @@ static int eol(char p) { static void trail_space(char *s) { int i = 0; while (isspace(s[i])) ++i; - if (i) strcpy(s, s + i); + int copylen = strlen(s + i); + if (i) memmove(s, s + i, copylen); i = strlen(s) - 1; while (i > 0 && isspace(s[i])) s[i--] = '\0'; } |