s3-lib: Fix push_ucs2() for-loop.
authorAndreas Schneider <asn@samba.org>
Mon, 17 Dec 2012 13:25:31 +0000 (14:25 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 21 Dec 2012 12:56:00 +0000 (13:56 +0100)
ret is a bool and size is what we are looking for here, else the
statement can never be true.

Jeremy please check!

Found by Coverity.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
source3/lib/charcnv.c

index 1fa2c5c8cfc5c1df2cd1ff3e73cb9e9a14d78532..407a2091f9be282faba2af8b6339ce3e5189bcb7 100644 (file)
@@ -286,10 +286,10 @@ static size_t push_ucs2(const void *base_ptr, void *dest, const char *src, size_
                smb_ucs2_t *dest_ucs2 = (smb_ucs2_t *)dest;
                size_t i;
 
-               /* We check for i < (ret / 2) below as the dest string isn't null
+               /* We check for i < (size / 2) below as the dest string isn't null
                   terminated if STR_TERMINATE isn't set. */
 
-               for (i = 0; i < (ret / 2) && i < (dest_len / 2) && dest_ucs2[i]; i++) {
+               for (i = 0; i < (size / 2) && i < (dest_len / 2) && dest_ucs2[i]; i++) {
                        smb_ucs2_t v = toupper_w(dest_ucs2[i]);
                        if (v != dest_ucs2[i]) {
                                dest_ucs2[i] = v;