Skip to content

Commit

Permalink
[common] obey the destination buffer size
Browse files Browse the repository at this point in the history
  • Loading branch information
gnif committed Oct 14, 2019
1 parent 9377fdf commit e1bfb12
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
B1-11-g5f1d17ba1f+1 B1-12-g9377fdfc37+1
14 changes: 11 additions & 3 deletions common/src/framebuffer.c
Expand Up @@ -40,9 +40,13 @@ bool framebuffer_read(const FrameBuffer frame, void * dst, size_t size)


/* copy what we can */ /* copy what we can */
uint64_t avail = frame->wp - rp; uint64_t avail = frame->wp - rp;
avail = avail > size ? size : avail;

memcpy(d, frame->data + rp, avail); memcpy(d, frame->data + rp, avail);
rp += avail;
d += avail; rp += avail;
d += avail;
size -= avail;
} }
return true; return true;
} }
Expand All @@ -57,9 +61,13 @@ bool framebuffer_read_fn(const FrameBuffer frame, FrameBufferReadFn fn, size_t s


/* copy what we can */ /* copy what we can */
uint64_t avail = frame->wp - rp; uint64_t avail = frame->wp - rp;
avail = avail > size ? size : avail;

if (!fn(opaque, frame->data + rp, avail)) if (!fn(opaque, frame->data + rp, avail))
return false; return false;
rp += avail;
rp += avail;
size -= avail;
} }


return true; return true;
Expand Down

0 comments on commit e1bfb12

Please sign in to comment.