}
static XBT_INLINE void _check_inbound_idx(xbt_dynar_t dynar, int idx) {
- if (idx>=dynar->used) {
+ if (idx<0 || idx>=dynar->used) {
_dynar_unlock(dynar);
THROW2(bound_error,idx,
"dynar is not that long. You asked %d, but it's only %lu long",
unsigned long offset;
_sanity_check_dynar(dynar);
- _sanity_check_idx(idx);
_check_inbound_idx(dynar, idx);
if (object) {
void * const dst) {
_dynar_lock(dynar);
_sanity_check_dynar(dynar);
- _sanity_check_idx(idx);
_check_inbound_idx(dynar, idx);
_xbt_dynar_get_elm(dst, dynar, idx);
void *res;
_dynar_lock(dynar);
_sanity_check_dynar(dynar);
- _sanity_check_idx(idx);
_check_inbound_idx(dynar, idx);
res = _xbt_dynar_elm(dynar, idx);