From: Michael Adam Date: Wed, 9 Jul 2008 10:48:05 +0000 (+0200) Subject: Revert "tdbtool: fix off-by-one error in argument length. (bug #2344)" X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=ef83ef0e86525bc4f293adeb9420207e79ddd0b6;p=samba.git Revert "tdbtool: fix off-by-one error in argument length. (bug #2344)" This reverts commit fafb8ad2b81b9a46cf8259bedc1dca5023b06115. This fix is not valid: 1. convert_string() is not only used for key strings but also for data. 2. Some databases use string_tdb_data() i.e. non-null-terminated strings as keynames and others (like the one I was using), use string_term_tdb_data(), i.e. zero-terminated key strings. After discussion with Metze, the easiest (and proper way) to handle this is to specify key names as "keyname\0" for databases which use string_term_tdb_data(). Sorry for the noise... Michael (cherry picked from commit 17c012c4645f4e9542537c15f80d9b4e74304d11) --- diff --git a/source/lib/tdb/tools/tdbtool.c b/source/lib/tdb/tools/tdbtool.c index 500e441c6a1..d104ccd7c44 100644 --- a/source/lib/tdb/tools/tdbtool.c +++ b/source/lib/tdb/tools/tdbtool.c @@ -598,7 +598,7 @@ static char *convert_string(char *instring, size_t *sizep) } length++; } - *sizep = length + 1; + *sizep = length; return instring; }