summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/sfsasl.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/src/sfsasl.c')
-rw-r--r--contrib/sendmail/src/sfsasl.c44
1 files changed, 16 insertions, 28 deletions
diff --git a/contrib/sendmail/src/sfsasl.c b/contrib/sendmail/src/sfsasl.c
index c09e4e8..17e90be 100644
--- a/contrib/sendmail/src/sfsasl.c
+++ b/contrib/sendmail/src/sfsasl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999-2000 Sendmail, Inc. and its suppliers.
+ * Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@@ -9,7 +9,7 @@
*/
#ifndef lint
-static char id[] = "@(#)$Id: sfsasl.c,v 8.17.4.13 2000/11/03 00:24:49 gshapiro Exp $";
+static char id[] = "@(#)$Id: sfsasl.c,v 8.17.4.14 2001/05/03 17:24:16 gshapiro Exp $";
#endif /* ! lint */
#if SFIO
@@ -28,7 +28,7 @@ static char id[] = "@(#)$Id: sfsasl.c,v 8.17.4.13 2000/11/03 00:24:49 gshapiro E
# include "sfsasl.h"
/* how to deallocate a buffer allocated by SASL */
-# define SASL_DEALLOC(b) free(b)
+# define SASL_DEALLOC(b) sm_free(b)
static ssize_t
sasl_read(f, buf, size, disc)
@@ -134,14 +134,8 @@ sfdcsasl(fin, fout, conn)
return 0;
}
- if ((saslin = (Sasldisc_t *) malloc(sizeof(Sasldisc_t))) == NULL)
- return -1;
- if ((saslout = (Sasldisc_t *) malloc(sizeof(Sasldisc_t))) == NULL)
- {
- free(saslin);
- return -1;
- }
-
+ saslin = (Sasldisc_t *) xalloc(sizeof(Sasldisc_t));
+ saslout = (Sasldisc_t *) xalloc(sizeof(Sasldisc_t));
saslin->disc.readf = sasl_read;
saslin->disc.writef = sasl_write;
saslin->disc.seekf = NULL;
@@ -158,8 +152,8 @@ sfdcsasl(fin, fout, conn)
if (sfdisc(fin, (Sfdisc_t *) saslin) != (Sfdisc_t *) saslin ||
sfdisc(fout, (Sfdisc_t *) saslout) != (Sfdisc_t *) saslout)
{
- free(saslin);
- free(saslout);
+ sm_free(saslin);
+ sm_free(saslout);
return -1;
}
return 0;
@@ -310,7 +304,7 @@ tls_close(cookie)
tc->fp = NULL;
}
- free(tc);
+ sm_free(tc);
return retval;
}
# endif /* !SFIO */
@@ -336,14 +330,8 @@ sfdctls(fin, fout, con)
if (con == NULL)
return 0;
- if ((tlsin = (Tlsdisc_t *) malloc(sizeof(Tlsdisc_t))) == NULL)
- return -1;
- if ((tlsout = (Tlsdisc_t *) malloc(sizeof(Tlsdisc_t))) == NULL)
- {
- free(tlsin);
- return -1;
- }
-
+ tlsin = (Tlsdisc_t *) xalloc(sizeof(Tlsdisc_t));
+ tlsout = (Tlsdisc_t *) xalloc(sizeof(Tlsdisc_t));
# if SFIO
tlsin->disc.readf = tls_read;
tlsin->disc.writef = tls_write;
@@ -362,15 +350,15 @@ sfdctls(fin, fout, con)
if (rfd < 0 || wfd < 0 ||
SSL_set_rfd(con, rfd) <= 0 || SSL_set_wfd(con, wfd) <= 0)
{
- free(tlsin);
- free(tlsout);
+ sm_free(tlsin);
+ sm_free(tlsout);
return -1;
}
if (sfdisc(fin, (Sfdisc_t *) tlsin) != (Sfdisc_t *) tlsin ||
sfdisc(fout, (Sfdisc_t *) tlsout) != (Sfdisc_t *) tlsout)
{
- free(tlsin);
- free(tlsout);
+ sm_free(tlsin);
+ sm_free(tlsout);
return -1;
}
# else /* SFIO */
@@ -379,7 +367,7 @@ sfdctls(fin, fout, con)
fp = funopen(tlsin, tls_read, tls_write, NULL, tls_close);
if (fp == NULL)
{
- free(tlsin);
+ sm_free(tlsin);
return -1;
}
*fin = fp;
@@ -396,7 +384,7 @@ sfdctls(fin, fout, con)
tlsin->fp = NULL;
fclose(*fin);
*fin = save;
- free(tlsout);
+ sm_free(tlsout);
return -1;
}
*fout = fp;
OpenPOWER on IntegriCloud