X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/09d9db2c4921cb2eb0974892164dd03d6bffdd80..696056c280e0e4a03e12d8d53f692c015ff19217:/lib-src/pop.c diff --git a/lib-src/pop.c b/lib-src/pop.c index 426b39bd1f..c4c7f2b4e2 100644 --- a/lib-src/pop.c +++ b/lib-src/pop.c @@ -1,6 +1,6 @@ /* pop.c: client routines for talking to a POP3-protocol post-office server -Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2011 +Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2012 Free Software Foundation, Inc. Author: Jonathan Kamens @@ -34,15 +34,15 @@ along with GNU Emacs. If not, see . */ #include "ntlib.h" #include #undef SOCKET_ERROR -#define RECV(s,buf,len,flags) recv(s,buf,len,flags) -#define SEND(s,buf,len,flags) send(s,buf,len,flags) -#define CLOSESOCKET(s) closesocket(s) +#define RECV(s,buf,len,flags) recv (s,buf,len,flags) +#define SEND(s,buf,len,flags) send (s,buf,len,flags) +#define CLOSESOCKET(s) closesocket (s) #else #include #include -#define RECV(s,buf,len,flags) read(s,buf,len) -#define SEND(s,buf,len,flags) write(s,buf,len) -#define CLOSESOCKET(s) close(s) +#define RECV(s,buf,len,flags) read (s,buf,len) +#define SEND(s,buf,len,flags) write (s,buf,len) +#define CLOSESOCKET(s) close (s) #endif #include @@ -65,9 +65,7 @@ extern struct servent *hes_getservbyname (/* char *, char * */); #include #include #include -#ifdef STDC_HEADERS #include -#endif #include #ifdef KERBEROS @@ -103,7 +101,7 @@ extern char *krb_realmofhost (/* char * */); #endif /* KERBEROS */ #ifndef WINDOWSNT -#if !defined(HAVE_H_ERRNO) || !defined(HAVE_CONFIG_H) +#if !defined (HAVE_H_ERRNO) || !defined (HAVE_CONFIG_H) extern int h_errno; #endif #endif @@ -348,6 +346,7 @@ pop_stat (popserver server, int *count, int *size) if (0 == strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; } else { @@ -449,7 +448,10 @@ pop_list (popserver server, int message, int **IDs, int **sizes) if (strncmp (fromserver, "+OK ", 4)) { if (! strncmp (fromserver, "-ERR", 4)) - strncpy (pop_error, fromserver, ERROR_MAX); + { + strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; + } else { strcpy (pop_error, @@ -689,6 +691,7 @@ pop_multi_first (popserver server, const char *command, char **response) if (0 == strncmp (*response, "-ERR", 4)) { strncpy (pop_error, *response, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (0 == strncmp (*response, "+OK", 3)) @@ -862,6 +865,7 @@ pop_last (popserver server) if (! strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (strncmp (fromserver, "+OK ", 4)) @@ -1069,7 +1073,7 @@ socket_connection (char *host, int flags) } #ifdef HAVE_GETADDRINFO - memset (&hints, 0, sizeof(hints)); + memset (&hints, 0, sizeof (hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_CANONNAME; hints.ai_family = AF_INET; @@ -1161,7 +1165,7 @@ socket_connection (char *host, int flags) krb5_free_context (kcontext); strcpy (pop_error, KRB_ERROR); strncat (pop_error, error_message (rem), - ERROR_MAX - sizeof(KRB_ERROR)); + ERROR_MAX - sizeof (KRB_ERROR)); CLOSESOCKET (sock); return (-1); } @@ -1214,7 +1218,7 @@ socket_connection (char *host, int flags) ERROR_MAX - strlen (pop_error) - 1); } #elif defined HAVE_KRB5_ERROR_E_TEXT - if (err_ret && err_ret->e_text && strlen(*err_ret->e_text)) + if (err_ret && err_ret->e_text && strlen (*err_ret->e_text)) { strncat (pop_error, " [server says '", ERROR_MAX - strlen (pop_error) - 1);