OSDN Git Service

2008-10-02 Jeff Johnston <jjohnstn@redhat.com>
authorjjohnstn <jjohnstn>
Thu, 2 Oct 2008 20:12:34 +0000 (20:12 +0000)
committerjjohnstn <jjohnstn>
Thu, 2 Oct 2008 20:12:34 +0000 (20:12 +0000)
        * libc/string/str-two-way.h (critical_factorization): Cast the index
        operation to ensure unsigned rollover occurs when adding to SIZE_MAX.

newlib/ChangeLog
newlib/libc/string/str-two-way.h

index 22a7cd0..53ce036 100644 (file)
@@ -1,5 +1,10 @@
 2008-10-02  Jeff Johnston  <jjohnstn@redhat.com>
 
+       * libc/string/str-two-way.h (critical_factorization): Cast the index
+       operation to ensure unsigned rollover occurs when adding to SIZE_MAX.
+
+2008-10-02  Jeff Johnston  <jjohnstn@redhat.com>
+
        * libc/sys/linux/include/stdint.h (SIZE_MAX): Fix value which should
        be size of size_t, not int.
        (SIZE_MIN): Remove.
index ad71a25..72b60c3 100644 (file)
@@ -114,7 +114,7 @@ critical_factorization (const unsigned char *needle, size_t needle_len,
   while (j + k < needle_len)
     {
       a = CANON_ELEMENT (needle[j + k]);
-      b = CANON_ELEMENT (needle[max_suffix + k]);
+      b = CANON_ELEMENT (needle[(size_t)(max_suffix + k)]);
       if (a < b)
        {
          /* Suffix is smaller, period is entire prefix so far.  */