From 038082c425c40037a28111934dfb5037edbcad8c Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 29 Apr 2020 19:08:19 +0000 Subject: Fix alloc_realloc UB void ** does not exist: the address of a generic pointer is not properly defined (different pointer types may have different representations). So, alloc_realloc cannot exist as is without UB. Fortunately, it's not supposed to be used in the skalibs programming style, and skalibs itself only uses it in two places (stralloc_ready_tuned and stralloc_shrink) where the pointer is a char *. So we just fix the UB by making alloc_realloc() take a char **, and it's only defined for that pointer type. Nothing to see here folks, nothing happened at all. --- src/libstddjb/stralloc_shrink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libstddjb/stralloc_shrink.c') diff --git a/src/libstddjb/stralloc_shrink.c b/src/libstddjb/stralloc_shrink.c index a372084..0dceca2 100644 --- a/src/libstddjb/stralloc_shrink.c +++ b/src/libstddjb/stralloc_shrink.c @@ -7,7 +7,7 @@ int stralloc_shrink (stralloc *sa) { if (sa->a > sa->len) { - if (!alloc_re((void **)&sa->s, sa->a, sa->len)) return 0 ; + if (!alloc_re(&sa->s, sa->a, sa->len)) return 0 ; sa->a = sa->len ; } return 1 ; -- cgit v1.2.3