r5268: Fix bug #2310, only do 16-bit normalization on small dfree
authorJeremy Allison <jra@samba.org>
Mon, 7 Feb 2005 22:06:49 +0000 (22:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:55:35 +0000 (10:55 -0500)
request.
Jeremy.

source/smbd/dfree.c

index f93cdf3791e2cfbbb0bdde0e139cb61bb439b751..c556c8c8ab234f2f7d9fcaa701b684bab65bf524 100644 (file)
@@ -36,11 +36,11 @@ static void disk_norm(BOOL small_query, SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,
                   errors */
        }  
 
-       while (*dfree > WORDMAX || *dsize > WORDMAX || *bsize < 512) {
-               *dfree /= 2;
-               *dsize /= 2;
-               *bsize *= 2;
-               if(small_query) {       
+       if(small_query) {       
+               while (*dfree > WORDMAX || *dsize > WORDMAX || *bsize < 512) {
+                       *dfree /= 2;
+                       *dsize /= 2;
+                       *bsize *= 2;
                        /*
                         * Force max to fit in 16 bit fields.
                         */