diff --git a/src/sbbs3/chksmb.c b/src/sbbs3/chksmb.c
index 86286db337c5df8024587fd1a37a3955a3d51318..603120f919ed168dde89d84740506ed5c709bfa9 100644
--- a/src/sbbs3/chksmb.c
+++ b/src/sbbs3/chksmb.c
@@ -899,7 +899,7 @@ int main(int argc, char **argv)
 				fprintf(stderr,"\r%sInvalid message number (%u > %u)\n", beep, hash.number, smb.status.last_msg), badhash++, print_hash(&hash);
 			else if(hash.time < 0x40000000 || hash.time > (ulong)now + (60 * 60))
 				fprintf(stderr,"\r%sInvalid time (0x%08"PRIX32")\n", beep, hash.time), badhash++, print_hash(&hash);
-			else if(hash.length < 1 || hash.length > 1024*1024)
+			else if(hash.length < 1 || hash.length > 1024*1024*1024)
 				fprintf(stderr,"\r%sInvalid length (%"PRIu32")\n", beep, hash.length), badhash++, print_hash(&hash);
 			else if(hash.source >= SMB_HASH_SOURCE_TYPES)
 				fprintf(stderr,"\r%sInvalid source type (%u)\n", beep, hash.source), badhash++, print_hash(&hash);