diff options
author | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2020-02-07 04:27:25 +0100 |
---|---|---|
committer | Arkadiusz Hiler <arkadiusz.hiler@intel.com> | 2020-02-26 15:18:43 +0200 |
commit | 4f875016eb1ebc211b8aadb280ae16c7e6cdc8ba (patch) | |
tree | a489ea074cabae13501d0f3f37b0971b685e2ed9 /lib/igt_vec.c | |
parent | 4eb25b2e923c8860076e3e0c2253a03422a354a1 (diff) |
lib/igt_vec: assertion fortification
Ensure no one will pass negative index on igt_vec because it could
lead to memory corruptions and weird program behavior.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'lib/igt_vec.c')
-rw-r--r-- | lib/igt_vec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/igt_vec.c b/lib/igt_vec.c index 591e56fa..c6ba164b 100644 --- a/lib/igt_vec.c +++ b/lib/igt_vec.c @@ -41,7 +41,7 @@ void igt_vec_fini(struct igt_vec *vec) void *igt_vec_elem(const struct igt_vec *vec, int idx) { - igt_assert(idx < vec->len); + igt_assert(idx >= 0 && idx < vec->len); return vec->elems + idx * vec->elem_size; } @@ -79,7 +79,7 @@ int igt_vec_index(const struct igt_vec *vec, void *elem) void igt_vec_remove(struct igt_vec *vec, int idx) { - igt_assert(idx < vec->len); + igt_assert(idx >= 0 && idx < vec->len); memmove(igt_vec_elem(vec, idx), igt_vec_elem(vec, idx + 1), |