From f47db3c799b4f6b63ee8021e0c93d00d5f125c9a Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Thu, 2 Feb 2017 16:02:57 +0100 Subject: [PATCH] vector: do not reverse a vector if it is empty The code reversing a vector initially determines the rear-pointer by simply subtracting 1 from the vector's length. Obviously, this fails if the vector is empty, in which case we have an integer overflow. Fix the issue by returning early if the vector is empty. --- src/vector.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vector.c b/src/vector.c index baec8036f..620a1f56c 100644 --- a/src/vector.c +++ b/src/vector.c @@ -406,6 +406,9 @@ void git_vector_reverse(git_vector *v) { size_t a, b; + if (v->length == 0) + return; + a = 0; b = v->length - 1;