0d9799de04
free(3) accepts NULL, since the oldest ISO C. I guess the paranoid code was taking care of prehistoric implementations of free(3). I've never known of an implementation that doesn't conform to this, so let's simplify this. Remove xfree(3), which was effectively an equivalent of free(3). Signed-off-by: Alejandro Colomar <alx@kernel.org>
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh
|
|
* SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz
|
|
* SPDX-FileCopyrightText: 2003 - 2006, Tomasz Kłoczko
|
|
* SPDX-FileCopyrightText: 2008 , Nicolas François
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
/* Replacements for malloc and strdup with error checking. Too trivial
|
|
to be worth copyrighting :-). I did that because a lot of code used
|
|
malloc and strdup without checking for NULL pointer, and I like some
|
|
message better than a core dump... --marekm
|
|
|
|
Yeh, but. Remember that bailing out might leave the system in some
|
|
bizarre state. You really want to put in error checking, then add
|
|
some back-out failure recovery code. -- jfh */
|
|
|
|
#include <config.h>
|
|
|
|
#ident "$Id$"
|
|
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
#include "defines.h"
|
|
#include "prototypes.h"
|
|
#include "shadowlog.h"
|
|
|
|
/*@maynotreturn@*/ /*@only@*//*@out@*//*@notnull@*/void *xmalloc (size_t size)
|
|
{
|
|
void *ptr;
|
|
|
|
ptr = malloc (size);
|
|
if (NULL == ptr) {
|
|
(void) fprintf (log_get_logfd(),
|
|
_("%s: failed to allocate memory: %s\n"),
|
|
log_get_progname(), strerror (errno));
|
|
exit (13);
|
|
}
|
|
return ptr;
|
|
}
|
|
|
|
/*@maynotreturn@*/ /*@only@*//*@notnull@*/char *xstrdup (const char *str)
|
|
{
|
|
return strcpy (xmalloc (strlen (str) + 1), str);
|
|
}
|