r9321: Fix potential bug found by Coverity. src_len has to be int but later we do...
authorAlexander Bokovoy <ab@samba.org>
Tue, 16 Aug 2005 13:22:01 +0000 (13:22 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:33:24 +0000 (13:33 -0500)
(This used to be commit 95d96c79a538814bb524d7905e1e8f64df6341ca)

source4/smb_server/request.c

index c31fee6d1953e834362de903785d7dc34747bb3d..93d9a160f31a9b1d4a7058b278ab7b0e282b0eb9 100644 (file)
@@ -491,16 +491,16 @@ static size_t req_pull_ucs2(struct smbsrv_request *req, const char **dest, const
                src_len = byte_len;
        } else {
                src_len = req->in.data_size - PTR_DIFF(src, req->in.data);
-               if (src_len < 0) {
-                       *dest = NULL;
-                       return 0;
-               }
-
                if (byte_len != -1 && src_len > byte_len) {
                        src_len = byte_len;
                }
        }
 
+       if (src_len < 0) {
+               *dest = NULL;
+               return 0;
+       }
+       
        src_len2 = utf16_len_n(src, src_len);
        if (src_len2 == 0) {
                *dest = talloc_strdup(req, "");