git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check syscall return values.
[exim.git]
/
src
/
src
/
spool_in.c
diff --git
a/src/src/spool_in.c
b/src/src/spool_in.c
index bdc3903c048a3201aad2f6812487a369233e7f5b..a546b65216c57bd88c3a4774bfdaf2e9fda10ca5 100644
(file)
--- a/
src/src/spool_in.c
+++ b/
src/src/spool_in.c
@@
-2,7
+2,7
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 20
09
*/
+/* Copyright (c) University of Cambridge 1995 - 20
12
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for reading spool files. When compiling for a utility (eximon),
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for reading spool files. When compiling for a utility (eximon),
@@
-283,12
+283,10
@@
dkim_collect_input = FALSE;
#endif
#ifdef SUPPORT_TLS
#endif
#ifdef SUPPORT_TLS
-tls_certificate_verified = FALSE;
-tls_cipher = NULL;
-tls_peerdn = NULL;
-#ifndef USE_GNUTLS
-tls_sni = NULL;
-#endif
+tls_in.certificate_verified = FALSE;
+tls_in.cipher = NULL;
+tls_in.peerdn = NULL;
+tls_in.sni = NULL;
#endif
#ifdef WITH_CONTENT_SCAN
#endif
#ifdef WITH_CONTENT_SCAN
@@
-547,15
+545,13
@@
for (;;)
#ifdef SUPPORT_TLS
case 't':
if (Ustrncmp(p, "ls_certificate_verified", 23) == 0)
#ifdef SUPPORT_TLS
case 't':
if (Ustrncmp(p, "ls_certificate_verified", 23) == 0)
- tls_certificate_verified = TRUE;
+ tls_
in.
certificate_verified = TRUE;
else if (Ustrncmp(p, "ls_cipher", 9) == 0)
else if (Ustrncmp(p, "ls_cipher", 9) == 0)
- tls_cipher = string_copy(big_buffer + 12);
+ tls_
in.
cipher = string_copy(big_buffer + 12);
else if (Ustrncmp(p, "ls_peerdn", 9) == 0)
else if (Ustrncmp(p, "ls_peerdn", 9) == 0)
- tls_peerdn = string_unprinting(string_copy(big_buffer + 12));
- #ifndef USE_GNUTLS
+ tls_in.peerdn = string_unprinting(string_copy(big_buffer + 12));
else if (Ustrncmp(p, "ls_sni", 6) == 0)
else if (Ustrncmp(p, "ls_sni", 6) == 0)
- tls_sni = string_unprinting(string_copy(big_buffer + 9));
- #endif
+ tls_in.sni = string_unprinting(string_copy(big_buffer + 9));
break;
#endif
break;
#endif
@@
-722,8
+718,8
@@
while ((n = fgetc(f)) != EOF)
int i;
if (!isdigit(n)) goto SPOOL_FORMAT_ERROR;
int i;
if (!isdigit(n)) goto SPOOL_FORMAT_ERROR;
- (void)ungetc(n, f);
-
(void)fscanf(f, "%d%c ", &n, flag)
;
+ if(ungetc(n, f) == EOF || fscanf(f, "%d%c ", &n, flag) == EOF)
+
goto SPOOL_READ_ERROR
;
if (flag[0] != '*') message_size += n; /* Omit non-transmitted headers */
if (read_headers)
if (flag[0] != '*') message_size += n; /* Omit non-transmitted headers */
if (read_headers)