[dm-devel] [dm- devel][PATCH] vector: add lower bound check of E in VECTOR_SLOT

Zhiqiang Liu liuzhiqiang26 at huawei.com
Mon Aug 3 02:41:48 UTC 2020


In VECTOR_SLOT(V, E), we add the lower bound check of E.
E cannot be less than zero.

Signed-off-by: Zhiqiang Liu <liuzhiqiang26 at huawei.com>
---
 libmultipath/vector.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libmultipath/vector.h b/libmultipath/vector.h
index e16ec461..cdb94b24 100644
--- a/libmultipath/vector.h
+++ b/libmultipath/vector.h
@@ -32,7 +32,7 @@ typedef struct _vector *vector;

 #define VECTOR_DEFAULT_SIZE 1
 #define VECTOR_SIZE(V)   ((V) ? ((V)->allocated) / VECTOR_DEFAULT_SIZE : 0)
-#define VECTOR_SLOT(V,E) (((V) && (E) < VECTOR_SIZE(V)) ? (V)->slot[(E)] : NULL)
+#define VECTOR_SLOT(V,E) (((V) && (E) < VECTOR_SIZE(V) && (E) >= 0) ? (V)->slot[(E)] : NULL)
 #define VECTOR_LAST_SLOT(V)   (((V) && VECTOR_SIZE(V) > 0) ? (V)->slot[(VECTOR_SIZE(V) - 1)] : NULL)

 #define vector_foreach_slot(v,p,i) \
-- 
2.24.0.windows.2





More information about the dm-devel mailing list