Index: smbd/dfree.c =================================================================== --- smbd/dfree.c (revision 5236) +++ smbd/dfree.c (working copy) @@ -36,11 +36,11 @@ 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. */