From 7c0301d100885f3d4ee48a973158d1aa0036af1c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 16 Apr 2002 22:55:39 +0000 Subject: stricter conditions on termination in strings this was a very nasty bug with filename corruption and NT4 clients. The exact termination conditions are quite critical ... (This used to be commit a538efe7d00e7a61df194ca1c22e0583dcbb7a4a) --- source3/lib/charcnv.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c index 803cda36c8..cd32779594 100644 --- a/source3/lib/charcnv.c +++ b/source3/lib/charcnv.c @@ -356,9 +356,9 @@ int pull_ascii(char *dest, const void *src, int dest_len, int src_len, int flags if (flags & STR_TERMINATE) { if (src_len == -1) { - src_len = strlen(src)+1; + src_len = strlen(src); } else { - src_len = strnlen(src, src_len) + 1; + src_len = strnlen(src, src_len); } } @@ -551,9 +551,9 @@ int pull_ucs2(const void *base_ptr, char *dest, const void *src, int dest_len, i if (flags & STR_TERMINATE) { if (src_len == -1) { - src_len = strlen_w(src)*2+2; + src_len = strlen_w(src)*2; } else { - src_len = strnlen_w(src, src_len/2)*2+2; + src_len = strnlen_w(src, src_len/2)*2; } } @@ -623,9 +623,9 @@ int pull_utf8(char *dest, const void *src, int dest_len, int src_len, int flags) if (flags & STR_TERMINATE) { if (src_len == -1) { - src_len = strlen(src)+1; + src_len = strlen(src); } else { - src_len = strnlen(src, src_len) + 1; + src_len = strnlen(src, src_len); } } -- cgit