program_name = argv[0];
#define RCFILE_NAME ".fetchmailrc"
- rcfile = (char *) xmalloc(strlen(home)+strlen(RCFILE_NAME)+2);
+ rcfile = (char *) xmalloc(strlen(home)+sizeof(RCFILE_NAME)+1);
/* avoid //.fetchmailrc */
if (strcmp(home, "/") != 0) {
strcpy(rcfile, home);
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif /* HAVE_SYS_WAIT_H */
+#include <sys/utsname.h>
#ifdef HAVE_GETHOSTBYNAME
#include <netdb.h>
#endif
#define IDFILE_NAME ".fetchids"
- run.idfile = (char *) xmalloc(strlen(home)+strlen(IDFILE_NAME)+2);
+ run.idfile = (char *) xmalloc(strlen(home)+sizeof(IDFILE_NAME)+1);
strcpy(run.idfile, home);
strcat(run.idfile, "/");
strcat(run.idfile, IDFILE_NAME);
#define FETCHMAIL_PIDFILE "fetchmail.pid"
if (!getuid()) {
xalloca(tmpbuf, char *,
- strlen(PID_DIR) + strlen(FETCHMAIL_PIDFILE) + 2);
+ sizeof(PID_DIR) + sizeof(FETCHMAIL_PIDFILE));
sprintf(tmpbuf, "%s/%s", PID_DIR, FETCHMAIL_PIDFILE);
} else {
- xalloca(tmpbuf, char *, strlen(home) + strlen(FETCHMAIL_PIDFILE) + 3);
+ xalloca(tmpbuf, char *, strlen(home) + sizeof(FETCHMAIL_PIDFILE) + 2);
strcpy(tmpbuf, home);
strcat(tmpbuf, "/.");
strcat(tmpbuf, FETCHMAIL_PIDFILE);
#define NETRC_FILE ".netrc"
/* parse the ~/.netrc file (if present) for future password lookups. */
- xalloca(netrc_file, char *, strlen (home) + strlen(NETRC_FILE) + 2);
+ xalloca(netrc_file, char *, strlen (home) + sizeof(NETRC_FILE) + 1);
strcpy (netrc_file, home);
strcat (netrc_file, "/");
strcat (netrc_file, NETRC_FILE);
* and prepare to process the new MIME charset/encoding
* header.
*/
- p_in = p + strlen(MIMEHDR_INIT);
+ p_in = p + sizeof(MIMEHDR_INIT) - 1;
state = S_SKIP_MIMEINIT;
}
}
unsigned char *p;
if (XferEncOfs != NULL) {
- memcpy(XferEncOfs, ENC8BIT, strlen(ENC8BIT));
+ memcpy(XferEncOfs, ENC8BIT, sizeof(ENC8BIT) - 1);
/* If anything left, in this header, replace with whitespace */
- for (p=XferEncOfs+strlen(ENC8BIT); (*p >= ' '); p++) *p=' ';
+ for (p=XferEncOfs+sizeof(ENC8BIT)-1; (*p >= ' '); p++) *p=' ';
}
}