src/buffer.c

changeset 270
3d80d425543b
parent 269
591473851c95
child 290
d5d6ab809ad3
     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;

mercurial