diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2008-10-02 20:12:34 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2008-10-02 20:12:34 +0000 |
commit | 015b86d725e33a221b89d93cbd0700980c7b75bf (patch) | |
tree | 10f2610447b6420a52137170a82e1e2ce7a52bc8 /newlib | |
parent | eea95bd1439db6ef98d12b4bb04fb7598f6296bf (diff) | |
download | cygnal-015b86d725e33a221b89d93cbd0700980c7b75bf.tar.gz cygnal-015b86d725e33a221b89d93cbd0700980c7b75bf.tar.bz2 cygnal-015b86d725e33a221b89d93cbd0700980c7b75bf.zip |
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.
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 5 | ||||
-rw-r--r-- | newlib/libc/string/str-two-way.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 22a7cd06f..53ce03675 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -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. diff --git a/newlib/libc/string/str-two-way.h b/newlib/libc/string/str-two-way.h index ad71a2595..72b60c39c 100644 --- a/newlib/libc/string/str-two-way.h +++ b/newlib/libc/string/str-two-way.h @@ -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. */ |