Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <a0eed5b4ed038ca974a6530762180af13493740b.1685527375.git.Jens.Gustedt@inria.fr>
Date: Wed, 31 May 2023 12:05:15 +0200
From: Jens Gustedt <Jens.Gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: [C23 new stdlib 1/3] C23: add the new interfaces free_sized and free_aligned_sized for stdlib.h

For the moment, these are just trivial wrappers that ignored their
parameters other than the pointer.

The names were not previously reserved, so they could generate naming
conflicts with application code.

The "implementation" is just a trivial wrapper around free. This could
eventually replaced by implementations that are more efficient than
that.
---
 dynamic.list                    | 2 ++
 include/stdlib.h                | 2 ++
 src/malloc/free_aligned_sized.c | 6 ++++++
 src/malloc/free_sized.c         | 7 +++++++
 4 files changed, 17 insertions(+)
 create mode 100644 src/malloc/free_aligned_sized.c
 create mode 100644 src/malloc/free_sized.c

diff --git a/dynamic.list b/dynamic.list
index ee0d363b..f13db826 100644
--- a/dynamic.list
+++ b/dynamic.list
@@ -10,6 +10,8 @@ malloc;
 calloc;
 realloc;
 free;
+free_sized;
+free_aligned_sized;
 memalign;
 posix_memalign;
 aligned_alloc;
diff --git a/include/stdlib.h b/include/stdlib.h
index 037e4dc4..2f46e6aa 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -41,6 +41,8 @@ void *malloc (size_t);
 void *calloc (size_t, size_t);
 void *realloc (void *, size_t);
 void free (void *);
+void free_sized (void *, size_t);
+void free_aligned_sized (void *, size_t, size_t);
 void *aligned_alloc(size_t, size_t);
 
 __noreturn void abort (void);
diff --git a/src/malloc/free_aligned_sized.c b/src/malloc/free_aligned_sized.c
new file mode 100644
index 00000000..bdfd0cee
--- /dev/null
+++ b/src/malloc/free_aligned_sized.c
@@ -0,0 +1,6 @@
+#include <stdlib.h>
+
+void free_aligned_sized (void *p, size_t alignment, size_t size)
+{
+	free(p);
+}
diff --git a/src/malloc/free_sized.c b/src/malloc/free_sized.c
new file mode 100644
index 00000000..fbacc516
--- /dev/null
+++ b/src/malloc/free_sized.c
@@ -0,0 +1,7 @@
+#include <stdlib.h>
+
+void free_sized (void *p, size_t size)
+{
+	free(p);
+}
+
-- 
2.34.1

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.