mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-12 20:27:53 +00:00
[common] obey the destination buffer size
This commit is contained in:
parent
9377fdfc37
commit
e1bfb1234b
2 changed files with 12 additions and 4 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
B1-11-g5f1d17ba1f+1
|
||||
B1-12-g9377fdfc37+1
|
|
@ -40,9 +40,13 @@ bool framebuffer_read(const FrameBuffer frame, void * dst, size_t size)
|
|||
|
||||
/* copy what we can */
|
||||
uint64_t avail = frame->wp - rp;
|
||||
avail = avail > size ? size : avail;
|
||||
|
||||
memcpy(d, frame->data + rp, avail);
|
||||
rp += avail;
|
||||
d += avail;
|
||||
|
||||
rp += avail;
|
||||
d += avail;
|
||||
size -= avail;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -57,9 +61,13 @@ bool framebuffer_read_fn(const FrameBuffer frame, FrameBufferReadFn fn, size_t s
|
|||
|
||||
/* copy what we can */
|
||||
uint64_t avail = frame->wp - rp;
|
||||
avail = avail > size ? size : avail;
|
||||
|
||||
if (!fn(opaque, frame->data + rp, avail))
|
||||
return false;
|
||||
rp += avail;
|
||||
|
||||
rp += avail;
|
||||
size -= avail;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue