g->bytes += len;
g->num_chunks++;
}
- assert(g->num_chunks);
+ if (g->num_chunks == 0)
+ return -E_EOF;
PARA_DEBUG_LOG("group #%u: %u chunks, %u bytes total\n", g->num,
g->num_chunks, g->bytes);
return 1;
list_del(&fc->node);
free(fc->enc_buf);
- for (i = 0; i < fc_num_data_slices(fc); i++)
- free(fc->src_data[i]);
- free(fc->src_data);
+ if (fc->src_data) {
+ for (i = 0; i < fc_num_data_slices(fc); i++)
+ free(fc->src_data[i]);
+ free(fc->src_data);
+ }
fec_free(fc->parms);
free(fc);
}
return;
err:
free(mmd->afd.afhi.chunk_table);
+ mmd->afd.afhi.chunk_table = NULL;
if (passed_fd >= 0)
close(passed_fd);
PARA_ERROR_LOG("%s\n", para_strerror(-ret));