1.1 --- a/ucx/string.c Sun Jan 15 14:20:25 2012 +0100 1.2 +++ b/ucx/string.c Wed Feb 08 23:43:02 2012 +0100 1.3 @@ -34,6 +34,7 @@ 1.4 sstr_t str = va_arg(ap, sstr_t); 1.5 size += str.length; 1.6 } 1.7 + va_end(ap); 1.8 1.9 return size; 1.10 } 1.11 @@ -48,6 +49,7 @@ 1.12 s.ptr = strncat (s.ptr, str.ptr, s.length); 1.13 str = va_arg (ap, sstr_t); 1.14 } 1.15 + va_end(ap); 1.16 1.17 return s; 1.18 } 1.19 @@ -62,6 +64,7 @@ 1.20 sstr_t str = va_arg (ap, sstr_t); 1.21 s.ptr = strncat (s.ptr, str.ptr, s.length); 1.22 } 1.23 + va_end(ap); 1.24 1.25 return s; 1.26 } 1.27 @@ -89,11 +92,13 @@ 1.28 1.29 sstr_t sstrdub(sstr_t s) { 1.30 sstr_t newstring; 1.31 - newstring.ptr = malloc(s.length + 1); 1.32 - newstring.length = s.length; 1.33 - newstring.ptr[newstring.length] = 0; 1.34 + newstring.ptr = (char*) malloc(s.length + 1); 1.35 + if (newstring.ptr != NULL) { 1.36 + newstring.length = s.length; 1.37 + newstring.ptr[newstring.length] = 0; 1.38 1.39 - memcpy(newstring.ptr, s.ptr, s.length); 1.40 + memcpy(newstring.ptr, s.ptr, s.length); 1.41 + } 1.42 1.43 return newstring; 1.44 }