X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpopsbr.c;h=363f925bd73f7989ec401330032728a0d440b467;hp=6d8d820c40ffe6a1a19887fbcb6c53410b8a77d6;hb=d2f12554a254e814dcdafb3828fc0d9936154eef;hpb=cb5d4a7527ee37577fc0c49eed564f237ec7c909 diff --git a/uip/popsbr.c b/uip/popsbr.c index 6d8d820..363f925 100644 --- a/uip/popsbr.c +++ b/uip/popsbr.c @@ -9,6 +9,7 @@ */ #include +#include extern int client(char *args, char *protocol, char *service, int rproto, char *response, int len_response); @@ -432,10 +433,7 @@ sasl_get_pass(sasl_conn_t *conn, void *context, int id, sasl_secret_t **psecret) len = strlen(pass); - *psecret = (sasl_secret_t *) malloc(sizeof(sasl_secret_t) + len); - - if (! *psecret) - return SASL_NOMEM; + *psecret = (sasl_secret_t *) mh_xmalloc(sizeof(sasl_secret_t) + len); (*psecret)->len = len; strcpy((char *) (*psecret)->data, pass); @@ -476,8 +474,8 @@ parse_proxy(char *proxy, char *host) } /* put together list of arguments */ - p = pargv = malloc(pargc * sizeof(char *)); - c = *pargv = malloc(plen * sizeof(char)); + p = pargv = mh_xmalloc(pargc * sizeof(char *)); + c = *pargv = mh_xmalloc(plen * sizeof(char)); for (cur = pro; *cur; cur++) { if (isspace(*cur) && cur[1] && !isspace(cur[1])) { *c++ = '\0'; @@ -500,6 +498,13 @@ pop_init (char *host, char *user, char *pass, char *proxy, int snoop, int fd1, fd2; char buffer[BUFSIZ]; +#ifdef APOP + int apop; + + if ((apop = rpop) < 0) + rpop = 0; +#endif + if (proxy && *proxy) { int pid; int inpipe[2]; /* for reading from the server */ @@ -549,13 +554,6 @@ pop_init (char *host, char *user, char *pass, char *proxy, int snoop, } else { -#ifdef APOP - int apop; - - if ((apop = rpop) < 0) - rpop = 0; -#endif - #ifndef NNTP if ( kpop ) { # ifdef KPOP @@ -930,20 +928,20 @@ pop_xtnd (int (*action)(), char *fmt, ...) snprintf (buffer, sizeof(buffer), fmt, a, b, c, d); ap = brkstring (buffer, " ", "\n"); /* a hack, i know... */ - if (!strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */ + if (!mh_strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */ /* most of these parameters are meaningless under NNTP. * bbc.c was modified to set AKA and LEADERS as appropriate, * the rest are left blank. */ return OK; } - if (!strcasecmp (ap[0], "archive") && ap[1]) { + if (!mh_strcasecmp (ap[0], "archive") && ap[1]) { snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */ xtnd_last = 0; xtnd_first = 1; /* setup to fail in pop_stat */ return OK; } - if (!strcasecmp (ap[0], "bboards")) { + if (!mh_strcasecmp (ap[0], "bboards")) { if (ap[1]) { /* XTND "BBOARDS group" */ snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */ @@ -1240,12 +1238,7 @@ sasl_fgetc(FILE *f) } if (retbufsize > size) { - buffer = realloc(buffer, retbufsize); - if (!buffer) { - snprintf(response, sizeof(response), "Error during realloc in " - "read routine: %s", strerror(errno)); - return -2; - } + buffer = mh_xrealloc(buffer, retbufsize); size = retbufsize; }