X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fgetarguments.c;h=55fd06e5044566e6a5ebda6f62af8f368402acab;hb=da304a48a24d7cc7fafae13c994d94ad3d6483f2;hp=89b57c19240e3fe86d1a75231e311c1bd75ed167;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68;p=mmh diff --git a/sbr/getarguments.c b/sbr/getarguments.c index 89b57c1..55fd06e 100644 --- a/sbr/getarguments.c +++ b/sbr/getarguments.c @@ -10,11 +10,12 @@ */ #include +#include char ** getarguments (char *invo_name, int argc, char **argv, int check_context) { - char *cp, **ap, **bp, **arguments; + char *cp = NULL, **ap = NULL, **bp = NULL, **arguments = NULL; int n = 0; /* @@ -30,12 +31,11 @@ getarguments (char *invo_name, int argc, char **argv, int check_context) n++; } - if (!(arguments = (char **) malloc ((argc + n) * sizeof(*arguments)))) - adios (NULL, "unable to malloc argument storage"); + arguments = (char **) mh_xmalloc ((argc + n) * sizeof(*arguments)); bp = arguments; /* Copy any arguments from profile/context */ - if (n > 0) { + if (ap != NULL && n > 0) { while (*ap) *bp++ = *ap++; }