/** * slibc — Yet another C library * Copyright © 2015 Mattias Andrée (maandree@member.fsf.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include /** * This function is identical to `free`, except it is guaranteed not to * override the memory segment with zeroes before freeing the allocation. * * @param segment The memory segment to free. */ void fast_free(void* segment) { free(segment); } /** * This function is identical to `free`, except it is guaranteed to * override the memory segment with zeroes before freeing the allocation. * * @param segment The memory segment to free. */ void secure_free(void* segment) { if (segment) { explicit_bzero(segment, allocsize(segment)); free(segment); } }