reduce calls to realloc() if size did not change.
diff --git a/libkmod/libkmod-index.c b/libkmod/libkmod-index.c
index c3252fe..a0cb510 100644
--- a/libkmod/libkmod-index.c
+++ b/libkmod/libkmod-index.c
@@ -120,6 +120,9 @@
 	else
 		sz = ((newsize / BUF_STEP) + 1) * BUF_STEP;
 
+	if (buf->size == sz)
+		return true;
+
 	tmp = realloc(buf->bytes, sz);
 	if (sz > 0 && tmp == NULL)
 		return false;