1.1 --- a/src/buffer.c Tue Jan 02 17:00:21 2018 +0100 1.2 +++ b/src/buffer.c Sun Jan 21 10:13:21 2018 +0100 1.3 @@ -151,7 +151,10 @@ 1.4 1.5 size_t ucx_buffer_write(const void *ptr, size_t size, size_t nitems, 1.6 UcxBuffer *buffer) { 1.7 - size_t len = size * nitems; 1.8 + size_t len; 1.9 + if(ucx_szmul(size, nitems, &len)) { 1.10 + return 0; 1.11 + } 1.12 size_t required = buffer->pos + len; 1.13 if (buffer->pos > required) { 1.14 return 0; 1.15 @@ -185,7 +188,10 @@ 1.16 1.17 size_t ucx_buffer_read(void *ptr, size_t size, size_t nitems, 1.18 UcxBuffer *buffer) { 1.19 - size_t len = size * nitems; 1.20 + size_t len; 1.21 + if(ucx_szmul(size, nitems, &len)) { 1.22 + return 0; 1.23 + } 1.24 if (buffer->pos + len > buffer->size) { 1.25 len = buffer->size - buffer->pos; 1.26 if (size > 1) len -= len%size;