summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-04-13 13:54:05 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-04-13 13:54:05 +0100
commit3e941d7ef4163b8882b1296adfd837c507a81075 (patch)
treebd3e1ea3db8b50c0e5a70aef0edda9a9d669c523 /lib
parent41c6e04831b0a6c6b1b15075d9f7c30b6c95e72b (diff)
downloadhivex-3e941d7ef4163b8882b1296adfd837c507a81075.tar.gz
hivex-3e941d7ef4163b8882b1296adfd837c507a81075.tar.xz
hivex-3e941d7ef4163b8882b1296adfd837c507a81075.zip
Really fix the case where a UTF-16 string contains junk after the string.
The previous commit b71b88f588f8660935a7d462e97b84aa2d669249 attempted to fix this, but got the test the wrong way round so the length would never be shorter.
Diffstat (limited to 'lib')
-rw-r--r--lib/hivex.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hivex.c b/lib/hivex.c
index 860c85c..3f4c629 100644
--- a/lib/hivex.c
+++ b/lib/hivex.c
@@ -1335,7 +1335,7 @@ hivex_value_string (hive_h *h, hive_value_h value)
* (Found by Hilko Bengen in a fresh Windows XP SOFTWARE hive).
*/
size_t slen = utf16_string_len_in_bytes_max (data, len);
- if (slen > len)
+ if (slen < len)
len = slen;
char *ret = windows_utf16_to_utf8 (data, len);