diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2020-04-29 19:08:19 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2020-04-29 19:08:19 +0000 |
commit | 038082c425c40037a28111934dfb5037edbcad8c (patch) | |
tree | 33a5af0aabf64334b93eb0c60158954dc2baf415 /src/include | |
parent | 20568ed2f00772e0a927ed21b7aa437c92ab8707 (diff) | |
download | skalibs-038082c425c40037a28111934dfb5037edbcad8c.tar.xz |
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.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/skalibs/alloc.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/skalibs/alloc.h b/src/include/skalibs/alloc.h index a1afdce..642dc65 100644 --- a/src/include/skalibs/alloc.h +++ b/src/include/skalibs/alloc.h @@ -10,6 +10,6 @@ extern void *alloc (size_t) ; #define alloc_free(p) free(p) #define alloc_re(p, old, new) alloc_realloc(p, new) -extern int alloc_realloc (void **, size_t) ; +extern int alloc_realloc (char **, size_t) ; #endif |