[gegl] buffer: fix check for NULL after dereferencing pointer
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] buffer: fix check for NULL after dereferencing pointer
- Date: Fri, 1 May 2020 17:06:42 +0000 (UTC)
commit f27f46343aa32ccad909f90b51dbc0e3cb1b43b2
Author: Øyvind Kolås <pippin gimp org>
Date: Fri May 1 18:54:25 2020 +0200
buffer: fix check for NULL after dereferencing pointer
Code and comments are misleading, some cleanup fixing issue #237.
gegl/buffer/gegl-buffer-load.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-load.c b/gegl/buffer/gegl-buffer-load.c
index 0d1a9a076..2ba618a9a 100644
--- a/gegl/buffer/gegl-buffer-load.c
+++ b/gegl/buffer/gegl-buffer-load.c
@@ -123,12 +123,9 @@ gegl_buffer_read_header (int i,
return ret;
}
-/* reads a block of information from a geglbuffer that resides in an GInputStream,
- * if offset is NULL it is read from the current offsetition of the stream. If offset
- * is passed in the offset stored at the location is used as the initial seeking
- * point and will be updated with the offset after the read is completed.
+/* reads a block of data from geglbuffer in open file descriptor fd
*/
-static GeglBufferItem *read_block (int i,
+static GeglBufferItem *read_block (int fd,
goffset *offset)
{
GeglBufferBlock block;
@@ -136,15 +133,16 @@ static GeglBufferItem *read_block (int i,
gsize byte_read = 0;
gint own_size=0;
+ g_assert (offset);
+
if (*offset==0)
return NULL;
- if (offset)
- if(lseek(i, *offset, SEEK_SET) == -1)
- g_warning ("failed seeking to %i", (gint)*offset);
+ if(lseek(fd, *offset, SEEK_SET) == -1)
+ g_warning ("failed seeking to %i", (gint)*offset);
{
- ssize_t sz_read = read (i, &block, sizeof (GeglBufferBlock));
+ ssize_t sz_read = read (fd, &block, sizeof (GeglBufferBlock));
if(sz_read != -1)
byte_read += sz_read;
}
@@ -177,7 +175,7 @@ static GeglBufferItem *read_block (int i,
ret = g_malloc (own_size);
memcpy (ret, &block, sizeof (GeglBufferBlock));
{
- ssize_t sz_read = read (i, ((gchar*)ret) + sizeof(GeglBufferBlock),
+ ssize_t sz_read = read (fd, ((gchar*)ret) + sizeof(GeglBufferBlock),
own_size - sizeof(GeglBufferBlock));
if(sz_read != -1)
byte_read += sz_read;
@@ -189,7 +187,7 @@ static GeglBufferItem *read_block (int i,
ret = g_malloc (own_size);
memcpy (ret, &block, sizeof (GeglBufferBlock));
{
- ssize_t sz_read = read (i, ret + sizeof(GeglBufferBlock),
+ ssize_t sz_read = read (fd, ret + sizeof(GeglBufferBlock),
block.length - sizeof (GeglBufferBlock));
if(sz_read != -1)
byte_read += sz_read;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]