[lxc-devel] strdup return value
Michael Tokarev
mjt at tls.msk.ru
Wed Nov 18 08:54:16 UTC 2009
Andrian Nord wrote:
> On Wed, Nov 18, 2009 at 02:25:20AM +0300, Michael Tokarev wrote:
>> I wodner why all code checks for malloc return value
>> but almost no places checks for strdup.
>
> Because this is an error? Probably it should be checked everywhere it
> does not.
>
>> Maybe it is better idea to define xmalloc()/xstrdup()
>> that aborts if memory allocation failed, instead of
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> scattering error checking all over?
>
> You mean something like that:
>
> char *src = "blabla";
> char *dest;
>
> if (xstrdup(&dest, src)) {
> SYSERROR("failed to allocate memory");
> return -1;
> }
I mean something like this:
char *xstrdup(const char *src) {
char *dest = strdup(src);
if (!dest) {
SYSERROR("failed to allocate memory");
abort();
}
return dest;
}
as used in countless other projects all around the world.
/mjt
More information about the lxc-devel
mailing list