From ae9fe1f304148d6f309090eb2a2613b1daaa5673 Mon Sep 17 00:00:00 2001 From: Brian Bruns Date: Wed, 16 Jun 2010 22:37:31 -0400 Subject: [PATCH] patch from Brett Hutley posted 2008-07-24. Bounds check binding of memo field in JET3 when not using iconv. --- src/libmdb/iconv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libmdb/iconv.c b/src/libmdb/iconv.c index 113d748..04ed31a 100644 --- a/src/libmdb/iconv.c +++ b/src/libmdb/iconv.c @@ -82,8 +82,11 @@ mdb_unicode2ascii(MdbHandle *mdb, char *src, size_t slen, char *dest, size_t dle dlen -= len_out; #else if (IS_JET3(mdb)) { - strncpy(out_ptr, in_ptr, len_in); - dlen = len_in; + size_t copy_len = len_in; + if (copy_len > dlen) + copy_len = dlen; + strncpy(out_ptr, in_ptr, copy_len); + dlen = copy_len; } else { /* rough UCS-2LE to ISO-8859-1 conversion */ unsigned int i;