NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ATTRIBUTES | VERSIONS | STANDARDS | HISTORY | SEE ALSO | COLOPHON |
|
|
cfree(3) Library Functions Manual cfree(3)
cfree - free allocated memory
Standard C library (libc, -lc)
#include <stdlib.h> /* In SunOS 4 */ int cfree(void *ptr); /* In glibc or FreeBSD libcompat */ void cfree(void *ptr); /* In SCO OpenServer */ void cfree(char ptr[.size * .n], unsigned int n, unsigned int size); /* In Solaris watchmalloc.so.1 */ void cfree(void ptr[.size * .n], size_t n, size_t size); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): cfree(): Since glibc 2.19: _DEFAULT_SOURCE glibc 2.19 and earlier: _BSD_SOURCE || _SVID_SOURCE
This function should never be used. Use free(3) instead. Starting with glibc 2.26, it has been removed from glibc. 1-arg cfree In glibc, the function cfree() is a synonym for free(3), "added for compatibility with SunOS". Other systems have other functions with this name. The declaration is sometimes in <stdlib.h> and sometimes in <malloc.h>. 3-arg cfree Some SCO and Solaris versions have malloc libraries with a 3-argument cfree(), apparently as an analog to calloc(3). If you need it while porting something, add #define cfree(p, n, s) free((p)) to your file. A frequently asked question is "Can I use free(3) to free memory allocated with calloc(3), or do I need cfree()?" Answer: use free(3). An SCO manual writes: "The cfree routine is provided for compliance to the iBCSe2 standard and simply calls free. The n and size arguments to cfree are not used."
The SunOS version of cfree() (which is a synonym for free(3)) returns 1 on success and 0 on failure. In case of error, errno is set to EINVAL: the value of ptr was not a pointer to a block previously allocated by one of the routines in the malloc(3) family.
For an explanation of the terms used in this section, see attributes(7). ┌───────────────────────┬───────────────┬────────────────────────┐ │ Interface │ Attribute │ Value │ ├───────────────────────┼───────────────┼────────────────────────┤ │ cfree() │ Thread safety │ MT-Safe /* In glibc */ │ └───────────────────────┴───────────────┴────────────────────────┘
The 3-argument version of cfree() as used by SCO conforms to the iBCSe2 standard: Intel386 Binary Compatibility Specification, Edition 2.
None.
Removed in glibc 2.26.
malloc(3)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.10.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-02-02. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.10 2024-11-17 cfree(3)