Merge branch '6-gt68xx-scanimage-batch-segfault' into 'master'

Resolve "gt68xx scanimage --batch segfault"

Closes #6

See merge request sane-project/backends!498
merge-requests/244/head
Ralph Little 2020-07-27 14:38:12 +00:00
commit be666bb037
2 zmienionych plików z 17 dodań i 2 usunięć

Wyświetl plik

@ -2130,6 +2130,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len,
&& s->byte_count >= s->reader->params.pixel_xs)
{
DBG (4, "sane_read: nothing more to scan: EOF\n");
gt68xx_scanner_stop_scan(s);
return SANE_STATUS_EOF;
}
@ -2343,8 +2344,10 @@ sane_cancel (SANE_Handle handle)
gt68xx_device_carriage_home (s->dev);
}
if (s->gamma_table)
free (s->gamma_table);
s->gamma_table = 0;
{
free (s->gamma_table);
s->gamma_table = 0;
}
}
else
{

Wyświetl plik

@ -1006,6 +1006,7 @@ gt68xx_line_reader_new (GT68xx_Device * dev,
DBG (3, "gt68xx_line_reader_new: cannot allocate line buffers: %s\n",
sane_strstatus (status));
free (reader);
reader = NULL;
return status;
}
@ -1105,6 +1106,7 @@ gt68xx_line_reader_new (GT68xx_Device * dev,
reader->params.depth);
gt68xx_line_reader_free_delays (reader);
free (reader);
reader = NULL;
return SANE_STATUS_UNSUPPORTED;
}
@ -1119,6 +1121,7 @@ gt68xx_line_reader_new (GT68xx_Device * dev,
DBG (3, "gt68xx_line_reader_new: cannot allocate pixel buffer\n");
gt68xx_line_reader_free_delays (reader);
free (reader);
reader = NULL;
return SANE_STATUS_NO_MEM;
}
@ -1135,6 +1138,7 @@ gt68xx_line_reader_new (GT68xx_Device * dev,
free (reader->pixel_buffer);
gt68xx_line_reader_free_delays (reader);
free (reader);
reader = NULL;
return status;
}
@ -1150,6 +1154,13 @@ gt68xx_line_reader_free (GT68xx_Line_Reader * reader)
DBG (6, "gt68xx_line_reader_free: enter\n");
if (reader == NULL)
{
DBG (3, "gt68xx_line_reader_free: already freed\n");
DBG (6, "gt68xx_line_reader_free: leave\n");
return SANE_STATUS_INVAL;
}
gt68xx_line_reader_free_delays (reader);
if (reader->pixel_buffer)
@ -1167,6 +1178,7 @@ gt68xx_line_reader_free (GT68xx_Line_Reader * reader)
}
free (reader);
reader = NULL;
DBG (6, "gt68xx_line_reader_free: leave\n");
return status;