xref: /dflybsd-src/lib/libc/stdlib/freezero.c (revision 78297c9bd458a14bd43b58c4fa6678d154321e03)
1*78297c9bSzrj /*
2*78297c9bSzrj  * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net>
3*78297c9bSzrj  * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org>
4*78297c9bSzrj  * Copyright (c) 2008 Damien Miller <djm@openbsd.org>
5*78297c9bSzrj  * Copyright (c) 2000 Poul-Henning Kamp <phk@FreeBSD.org>
6*78297c9bSzrj  *
7*78297c9bSzrj  * Permission to use, copy, modify, and distribute this software for any
8*78297c9bSzrj  * purpose with or without fee is hereby granted, provided that the above
9*78297c9bSzrj  * copyright notice and this permission notice appear in all copies.
10*78297c9bSzrj  *
11*78297c9bSzrj  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12*78297c9bSzrj  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13*78297c9bSzrj  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14*78297c9bSzrj  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15*78297c9bSzrj  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16*78297c9bSzrj  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17*78297c9bSzrj  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18*78297c9bSzrj  */
19*78297c9bSzrj 
20*78297c9bSzrj #include <string.h>
21*78297c9bSzrj #include <stdlib.h>
22*78297c9bSzrj 
23*78297c9bSzrj void
freezero(void * ptr,size_t sz)24*78297c9bSzrj freezero(void *ptr, size_t sz)
25*78297c9bSzrj {
26*78297c9bSzrj 	/* This is legal. */
27*78297c9bSzrj 	if (ptr == NULL)
28*78297c9bSzrj 		return;
29*78297c9bSzrj 
30*78297c9bSzrj 	explicit_bzero(ptr, sz);
31*78297c9bSzrj 	free(ptr);
32*78297c9bSzrj }
33