-/* $Cambridge: exim/src/src/spam.c,v 1.18 2010/06/05 11:13:30 pdp Exp $ */
-
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
uschar user_name_buffer[128];
unsigned long mbox_size;
FILE *mbox_file;
- int spamd_sock;
+ int spamd_sock = -1;
uschar spamd_buffer[32600];
int i, j, offset, result;
uschar spamd_version[8];
};
while ( num_servers > 0 ) {
+ int i;
/* Randomly pick a server to try */
current_server = random_number( num_servers );
/* Remove the server from the list. XXX We should free the memory */
num_servers--;
- int i;
for( i = current_server; i < num_servers; i++ )
spamd_address_vector[i] = spamd_address_vector[i+1];
}
}
+ if (spamd_sock == -1) {
+ log_write(0, LOG_MAIN|LOG_PANIC,
+ "programming fault, spamd_sock unexpectedly unset");
+ (void)fclose(mbox_file);
+ (void)close(spamd_sock);
+ return DEFER;
+ }
+
/* now we are connected to spamd on spamd_sock */
(void)string_format(spamd_buffer,
sizeof(spamd_buffer),