[PATCH 1/4] uintset: Fix memory leak in l_uintset_new_from_range
by Szymon Janc
Allocate ret only after checking size parameter.
---
ell/uintset.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ell/uintset.c b/ell/uintset.c
index 3d9c8e3..4547ac9 100644
--- a/ell/uintset.c
+++ b/ell/uintset.c
@@ -149,12 +149,13 @@ struct l_uintset {
LIB_EXPORT struct l_uintset *l_uintset_new_from_range(uint32_t min,
uint32_t max)
{
- struct l_uintset *ret = l_new(struct l_uintset, 1);
+ struct l_uintset *ret;
unsigned int size = max - min + 1;
if (size > USHRT_MAX)
return NULL;
+ ret = l_new(struct l_uintset, 1);
ret->bits = l_new(unsigned long,
(size + BITS_PER_LONG - 1) / BITS_PER_LONG);
ret->size = size;
--
2.6.2
6 years, 8 months