break;
}
- if (h->current_metadata->valid == 0) {
+ if (h->current_metadata->valid == 0 || h->jpg_image->size == 0) {
kds_s2000w_handler_recreate_session(h);
return SANE_STATUS_NO_DOCS;
}
if (h->read_info->read_size >= h->pnm_image->size) {
*length = 0;
h->current_metadata->is_last = 1;
+ h->jpg_image->size = 0;
+ free(h->jpg_image->data);
+ h->jpg_image->data = NULL;
+ h->pnm_image->size = 0;
+ free(h->pnm_image->data);
+ h->pnm_image->data = NULL;
return SANE_STATUS_EOF;
}