aboutsummaryrefslogtreecommitdiffstats
path: root/uid.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2010-04-24 06:00:38 +0200
committerMatthias Andree <matthias.andree@gmx.de>2010-04-24 06:08:06 +0200
commit167fa2093e82f891eb2fcb6eaa0b1eb3685f44e3 (patch)
treec314703b01b4d120008cf69feea8f0c49eb0d8df /uid.c
parente87f96bd9730e2bdb407d0a9cca2a05ee0dabce5 (diff)
downloadfetchmail-167fa2093e82f891eb2fcb6eaa0b1eb3685f44e3.tar.gz
fetchmail-167fa2093e82f891eb2fcb6eaa0b1eb3685f44e3.tar.bz2
fetchmail-167fa2093e82f891eb2fcb6eaa0b1eb3685f44e3.zip
SECURITY FIX (one missed): DoS on EILSEQ in report_*() in -vv and multibyte-locales.
Diffstat (limited to 'uid.c')
-rw-r--r--uid.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/uid.c b/uid.c
index d813beec..9a62ee24 100644
--- a/uid.c
+++ b/uid.c
@@ -250,8 +250,11 @@ void initialize_saved_lists(struct query *hostlist, const char *idfile)
{
report_build(stdout, GT_("Old UID list from %s:"),
ctl->server.pollname);
- for (idp = ctl->oldsaved; idp; idp = idp->next)
- report_build(stdout, " %s", idp->id);
+ for (idp = ctl->oldsaved; idp; idp = idp->next) {
+ char *t = sdump(idp->id, strlen(idp->id));
+ report_build(stdout, " %s", t);
+ free(t);
+ }
if (!idp)
report_build(stdout, GT_(" <empty>"));
report_complete(stdout, "\n");