overflow of sstrnlen should return SIZE_MAX instead of zero

Wed, 16 May 2018 13:13:33 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 16 May 2018 13:13:33 +0200
changeset 317
ebae0e434898
parent 316
be0f6bd10b52
child 318
348fd9cb7b14

overflow of sstrnlen should return SIZE_MAX instead of zero

src/string.c file | annotate | diff | comparison | revisions
     1.1 --- a/src/string.c	Mon May 14 19:24:34 2018 +0200
     1.2 +++ b/src/string.c	Wed May 16 13:13:33 2018 +0200
     1.3 @@ -73,8 +73,8 @@
     1.4  
     1.5      for (size_t i = 0 ; i < n ; i++) {
     1.6          scstr_t str = va_arg(ap, scstr_t);
     1.7 -        if(((size_t)-1) - str.length < size) {
     1.8 -            size = 0;
     1.9 +        if(SIZE_MAX - str.length < size) {
    1.10 +            size = SIZE_MAX;
    1.11              break;
    1.12          }
    1.13          size += str.length;

mercurial