diff options
author | Dudemanguy <random342@airmail.cc> | 2024-01-12 20:40:31 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-01-12 20:46:00 -0600 |
commit | 2dd3951a9c05e7a4fc0a614f13de1bfe0e7f132f (patch) | |
tree | def017de89ede79cd5edc49294081b4183cf246a /sub/filter_sdh.c | |
parent | e15b2b19a3548c8c210d86a77b52d495494a1e20 (diff) | |
download | mpv-2dd3951a9c05e7a4fc0a614f13de1bfe0e7f132f.tar.bz2 mpv-2dd3951a9c05e7a4fc0a614f13de1bfe0e7f132f.tar.xz |
filter_sdh: fix incorrect placement of null terminator
The +1 here is not correct. For a 4-byte unicode character, this would
throw a runtime error because the +1 would try to assign the null
terminator past the actual bound of our array. Just remove it since it
should be exactly equal to whatever we have for bytes.
Diffstat (limited to 'sub/filter_sdh.c')
-rw-r--r-- | sub/filter_sdh.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sub/filter_sdh.c b/sub/filter_sdh.c index 0a1d36749e..a4b1aeb097 100644 --- a/sub/filter_sdh.c +++ b/sub/filter_sdh.c @@ -389,7 +389,7 @@ static char *filter_SDH(struct sd_filter *sd, char *data, int length, ptrdiff_t int bytes = get_char_bytes(rp); for (int i = 0; i < bytes; i++) left[i] = rp[i]; - left[bytes + 1] = '\0'; + left[bytes] = '\0'; right = get_right_enclosure(left); } if (left[0] && right && right[0]) { |