1 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
3 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
9 .\" The GNU General Public License's references to "object code"
10 .\" and "executables" are to be interpreted as the output of any
11 .\" document formatting or typesetting system, including
12 .\" intermediate and printed output.
14 .\" This manual is distributed in the hope that it will be useful,
15 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 .\" GNU General Public License for more details.
19 .\" You should have received a copy of the GNU General Public
20 .\" License along with this manual; if not, see
21 .\" <http://www.gnu.org/licenses/>.
24 .TH CFREE 3 2021-03-22 "" "Linux Programmer's Manual"
26 cfree \- free allocated memory
30 .B "#include <stdlib.h>"
33 .BI "int cfree(void *" ptr );
35 /* In glibc or FreeBSD libcompat */
36 .BI "void cfree(void *" ptr );
38 /* In SCO OpenServer */
39 .BI "void cfree(char *" ptr ", unsigned int " num ", unsigned int " size );
41 /* In Solaris watchmalloc.so.1 */
42 .BI "void cfree(void *" ptr ", size_t " nelem ", size_t " elsize );
46 Feature Test Macro Requirements for glibc (see
47 .BR feature_test_macros (7)):
54 Glibc 2.19 and earlier:
55 _BSD_SOURCE || _SVID_SOURCE
58 This function should never be used.
62 Starting with version 2.26, it has been removed from glibc.
64 In glibc, the function
68 "added for compatibility with SunOS".
70 Other systems have other functions with this name.
71 The declaration is sometimes in
76 Some SCO and Solaris versions have malloc libraries with a 3-argument
78 apparently as an analog to
81 If you need it while porting something, add
85 #define cfree(p, n, s) free((p))
91 A frequently asked question is "Can I use
93 to free memory allocated with
100 An SCO manual writes: "The cfree routine is provided for compliance
101 to the iBCSe2 standard and simply calls free.
103 arguments to cfree are not used."
107 (which is a synonym for
109 returns 1 on success and 0 on failure.
116 was not a pointer to a block previously allocated by
117 one of the routines in the
124 .\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
125 from glibc in version 2.26.
127 For an explanation of the terms used in this section, see
135 Interface Attribute Value
138 T} Thread safety MT-Safe /* In glibc */
144 The 3-argument version of
146 as used by SCO conforms to the iBCSe2 standard:
147 Intel386 Binary Compatibility Specification, Edition 2.