mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-09 14:40:54 +00:00
capture-reader: cleanup some space checks
Add a few more assertions to make sure we have what we think we have. Also we can drop self->pos from our while loop checks as it will always be zero.
This commit is contained in:
@ -214,21 +214,22 @@ sp_capture_reader_ensure_space_for (SpCaptureReader *self,
|
|||||||
gsize len)
|
gsize len)
|
||||||
{
|
{
|
||||||
g_assert (self != NULL);
|
g_assert (self != NULL);
|
||||||
|
g_assert (self->pos <= self->len);
|
||||||
g_assert (len > 0);
|
g_assert (len > 0);
|
||||||
|
|
||||||
if ((self->len - self->pos) < len)
|
if ((self->len - self->pos) < len)
|
||||||
{
|
{
|
||||||
gssize r;
|
gssize r;
|
||||||
|
|
||||||
g_assert (self->len >= self->pos);
|
if (self->len > self->pos)
|
||||||
|
memmove (self->buf, &self->buf[self->pos], self->len - self->pos);
|
||||||
memmove (self->buf, &self->buf[self->pos], self->len - self->pos);
|
|
||||||
self->len -= self->pos;
|
self->len -= self->pos;
|
||||||
self->pos = 0;
|
self->pos = 0;
|
||||||
|
|
||||||
while ((self->len - self->pos) <= len)
|
while (self->len < len)
|
||||||
{
|
{
|
||||||
g_assert (self->pos + self->len < self->bufsz);
|
g_assert ((self->pos + self->len) < self->bufsz);
|
||||||
|
g_assert (self->len < self->bufsz);
|
||||||
|
|
||||||
/* Read into our buffer after our current read position */
|
/* Read into our buffer after our current read position */
|
||||||
r = pread (self->fd,
|
r = pread (self->fd,
|
||||||
@ -285,6 +286,7 @@ sp_capture_reader_peek_frame (SpCaptureReader *self,
|
|||||||
|
|
||||||
g_assert (self != NULL);
|
g_assert (self != NULL);
|
||||||
g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
|
g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
|
||||||
|
g_assert (self->pos <= self->len);
|
||||||
g_assert (self->pos <= self->bufsz);
|
g_assert (self->pos <= self->bufsz);
|
||||||
|
|
||||||
if (!sp_capture_reader_ensure_space_for (self, sizeof *real_frame))
|
if (!sp_capture_reader_ensure_space_for (self, sizeof *real_frame))
|
||||||
|
|||||||
Reference in New Issue
Block a user