On Mon, Jul 01, 2019 at 08:25:02PM +0200, Martijn van Duren wrote:
> No functional change intended, just simplify the code.
> 
> OK?
> 

yes, ok gilles@

> Index: enqueue.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/enqueue.c,v
> retrieving revision 1.115
> diff -u -p -r1.115 enqueue.c
> --- enqueue.c 31 May 2018 21:06:12 -0000      1.115
> +++ enqueue.c 1 Jul 2019 18:23:02 -0000
> @@ -171,8 +171,6 @@ enqueue(int argc, char *argv[], FILE *of
>       FILE                    *fp = NULL, *fout;
>       size_t                   sz = 0, envid_sz = 0;
>       ssize_t                  len;
> -     int                      fd;
> -     char                     sfn[] = "/tmp/smtpd.XXXXXXXXXX";
>       char                    *line;
>       int                      dotted;
>       int                      inheaders = 1;
> @@ -269,16 +267,9 @@ enqueue(int argc, char *argv[], FILE *of
>               argc--;
>       }
>  
> -     if ((fd = mkstemp(sfn)) == -1 ||
> -         (fp = fdopen(fd, "w+")) == NULL) {
> -             int saved_errno = errno;
> -             if (fd != -1) {
> -                     unlink(sfn);
> -                     close(fd);
> -             }
> -             errc(EX_UNAVAILABLE, saved_errno, "mkstemp");
> -     }
> -     unlink(sfn);
> +     if ((fp = tmpfile()) == NULL)
> +             err(EX_UNAVAILABLE, "tmpfile");
> +
>       msg.noheader = parse_message(stdin, fake_from == NULL, tflag, fp);
>  
>       if (msg.rcpt_cnt == 0)
> Index: smtpc.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/smtpc.c,v
> retrieving revision 1.5
> diff -u -p -r1.5 smtpc.c
> --- smtpc.c   15 May 2019 05:02:43 -0000      1.5
> +++ smtpc.c   1 Jul 2019 18:23:02 -0000
> @@ -263,19 +263,12 @@ parse_server(char *server)
>  void
>  parse_message(FILE *ifp)
>  {
> -     char sfn[] = "/tmp/smtp.XXXXXXXXXX";
>       char *line = NULL;
>       size_t linesz = 0;
>       ssize_t len;
> -     int fd;
>  
> -     if ((fd = mkstemp(sfn)) == -1)
> -             fatal("mkstemp");
> -     unlink(sfn);
> -
> -     mail.fp = fdopen(fd, "w+");
> -     if ((mail.fp) == NULL)
> -             fatal("fdopen");
> +     if ((mail.fp = tmpfile()) == NULL)
> +             fatal("tmpfile");
>  
>       for (;;) {
>               if ((len = getline(&line, &linesz, ifp)) == -1) {
> Index: smtpctl.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/smtpctl.c,v
> retrieving revision 1.163
> diff -u -p -r1.163 smtpctl.c
> --- smtpctl.c 14 Jan 2019 09:37:40 -0000      1.163
> +++ smtpctl.c 1 Jul 2019 18:23:02 -0000
> @@ -1297,20 +1297,10 @@ display(const char *s)
>  
>       if (is_encrypted_fp(fp)) {
>               int     i;
> -             int     fd;
>               FILE   *ofp = NULL;
> -             char    sfn[] = "/tmp/smtpd.XXXXXXXXXX";
>  
> -             if ((fd = mkstemp(sfn)) == -1 ||
> -                 (ofp = fdopen(fd, "w+")) == NULL) {
> -                     int saved_errno = errno;
> -                     if (fd != -1) {
> -                             unlink(sfn);
> -                             close(fd);
> -                     }
> -                     errc(1, saved_errno, "mkstemp");
> -             }
> -             unlink(sfn);
> +             if ((ofp = tmpfile()) == NULL)
> +                     err(1, "tmpfile");
>  
>               for (i = 0; i < 3; i++) {
>                       key = getpass("key> ");
> 

-- 
Gilles Chehade                                                 @poolpOrg

https://www.poolp.org            patreon: https://www.patreon.com/gilles

Reply via email to