From: Richard W.M. Jones Date: Wed, 13 Apr 2011 13:03:21 +0000 (+0100) Subject: Handle odd-length "UTF16" strings. X-Git-Tag: 1.2.5~3 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=75ea457771cec140fa3376bcc299948096c07acd;p=hivex.git Handle odd-length "UTF16" strings. If the length of the buffer is not even, then this would read a byte of uninitialized data. Fix the length check to avoid this. --- diff --git a/lib/hivex.c b/lib/hivex.c index b1f6ea6..71ea5c3 100644 --- a/lib/hivex.c +++ b/lib/hivex.c @@ -1384,7 +1384,7 @@ utf16_string_len_in_bytes_max (const char *str, size_t len) { size_t ret = 0; - while (len > 0 && (str[0] || str[1])) { + while (len >= 2 && (str[0] || str[1])) { str += 2; ret += 2; len -= 2;