File pidentd-3.1a25-send.diff of Package pidentd
--- src/send.c
+++ src/send.c
@@ -75,24 +75,23 @@
const char *req,
const char *what)
{
- char buf[1024];
+ char buf[36]; /* 36 = max (24, 11 + longest 'what'(=25))*/
char nab[64];
if (unknown_error_flag || (what[0] == 'X' && what[1] == '-' && !debug))
- s_snprintf(buf, sizeof(buf), "%s : ERROR : UNKNOWN-ERROR",
- req);
+ s_snprintf(buf, sizeof(buf), " : ERROR : UNKNOWN-ERROR");
else
- s_snprintf(buf, sizeof(buf), "%s : ERROR : %s",
- req, what);
+ s_snprintf(buf, sizeof(buf), " : ERROR : %s", what);
+ fd_puts(fp, req);
fd_puts(fp, buf);
fd_putc(fp, '\n');
if (result_syslog_level > -1)
syslog(result_syslog_level,
- "reply to %s: %s",
- s_inet_ntox(&cp->rsin, nab, sizeof(nab)),
+ "reply to %s: %s%s",
+ s_inet_ntox(&cp->rsin, nab, sizeof(nab)), req,
buf);
}
@@ -140,8 +139,7 @@
pdes_encrypt(kp, buffer);
s_snprintf(buf, sizeof(buf),
- "%s : USERID : OTHER%s%s :[%s]",
- req,
+ " : USERID : OTHER%s%s :[%s]",
charset != NULL ? " , " : "",
charset != NULL ? charset : "",
buffer);
@@ -152,8 +150,7 @@
if (!uidonly_flag && pp != NULL && strlen(pp->pw_name) < sizeof(buf)-128)
{
s_snprintf(buf, sizeof(buf),
- "%s : USERID : %s%s%s :%s",
- req,
+ " : USERID : %s%s%s :%s",
opsys,
charset != NULL ? " , " : "",
charset != NULL ? charset : "",
@@ -162,11 +159,11 @@
else
{
s_snprintf(buf, sizeof(buf),
- "%s : USERID : OTHER :%lu",
- req,
+ " : USERID : OTHER :%lu",
(unsigned long) uid);
}
+ fd_puts(fp, req);
fd_puts(fp, buf);
fd_putc(fp, '\n');