Nmap Development mailing list archives

[PATCH] Use UCHAR_MAX and USHRT_MAX in genfry()


From: Kris Katterjohn <kjak () ispwest com>
Date: Thu, 09 Mar 2006 12:01:36 -0600

The attached patch uses UCHAR_MAX and USHRT_MAX instead of 256 and 65536. It
also changes some 'x = *y; y++;' to 'x = *y++;'.

Thanks,
Kris
--- utils.cc.orig       2006-03-09 11:32:46.000000000 -0600
+++ utils.cc    2006-03-09 11:55:44.000000000 -0600
@@ -99,6 +99,7 @@
 
 /* $Id: utils.cc 3200 2006-03-05 23:59:46Z fyodor $ */
 
+#include <limits.h>
 #include "utils.h"
 #include "NmapOps.h"
 
@@ -305,11 +306,12 @@ if (num_elem < 2)
  }
 
 /* OK, so I am stingy with the random bytes! */
-if (num_elem < 256) 
+if (num_elem <= UCHAR_MAX)
   bpe = sizeof(unsigned char);
-else if (num_elem < 65536)
+else if (num_elem <= USHRT_MAX)
   bpe = sizeof(unsigned short);
-else bpe = sizeof(unsigned int);
+else
+  bpe = sizeof(unsigned int);
 
 bytes = (unsigned char *) malloc(bpe * num_elem);
 tmp = (unsigned char *) malloc(elem_sz);
@@ -320,14 +322,12 @@ sptr = (unsigned short *)bytes;
 iptr = (unsigned int *) bytes;
 
  for(i=num_elem - 1; i > 0; i--) {
-   if (num_elem < 256) {
-     pos = *cptr; cptr++;
-   }
-   else if (num_elem < 65536) {
-     pos = *sptr; sptr++;
-   } else {
-     pos = *iptr; iptr++;
-   }
+   if (num_elem <= UCHAR_MAX)
+     pos = *cptr++;
+   else if (num_elem <= USHRT_MAX)
+     pos = *sptr++;
+   else
+     pos = *iptr++;
    pos %= i+1;
    memcpy(tmp, arr + elem_sz * i, elem_sz);
    memcpy(arr + elem_sz * i, arr + elem_sz * pos, elem_sz);


_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev

Current thread: