Source
213
213
else {
214
214
HDassert(io_info->op_type == H5D_IO_OP_WRITE);
215
215
if((tmp_file_len = (*io_info->layout_ops.writevv)(io_info,
216
216
file_nseq, &curr_file_seq, file_len, file_off,
217
217
mem_nseq, &curr_mem_seq, mem_len, mem_off)) < 0)
218
218
HGOTO_ERROR(H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error")
219
219
} /* end else */
220
220
221
221
/* Decrement number of elements left to process */
222
222
HDassert(((size_t)tmp_file_len % elmt_size) == 0);
223
+
if(elmt_size == 0)
224
+
HGOTO_ERROR(H5E_DATASPACE, H5E_BADVALUE, FAIL, "Resulted in division by zero")
223
225
nelmts -= ((size_t)tmp_file_len / elmt_size);
224
226
} /* end while */
225
227
} /* end else */
226
228
227
229
done:
228
230
/* Release file selection iterator */
229
231
if(file_iter_init)
230
232
if(H5S_SELECT_ITER_RELEASE(&file_iter) < 0)
231
233
HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release selection iterator")
232
234