aboutsummaryrefslogtreecommitdiff
path: root/mail/emil/files/patch-uuencode.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/emil/files/patch-uuencode.c')
-rw-r--r--mail/emil/files/patch-uuencode.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/mail/emil/files/patch-uuencode.c b/mail/emil/files/patch-uuencode.c
new file mode 100644
index 000000000000..d43ab6a870f4
--- /dev/null
+++ b/mail/emil/files/patch-uuencode.c
@@ -0,0 +1,20 @@
+--- uuencode.c.orig 1996-06-04 15:37:02.000000000 +0200
++++ uuencode.c 2011-07-25 20:21:13.000000000 +0200
+@@ -116,7 +116,7 @@ encode_uuencode(struct message *m)
+ /* Start with uuencode preamble */
+ fix_filename(m);
+
+- sprintf(outb,"begin 644 %s\n", m->sd->name);
++ snprintf(outb, sizeof(outb), "begin 644 %s\n", m->sd->name);
+ append_data(outbuf, outb, strlen(outb), pz);
+ outbuf->lineend += 1;
+ i = 0;
+@@ -242,7 +242,7 @@ decode_uuencode(struct message *m)
+ inb++;
+ inbuf->offset += 1;
+ }
+- if ((i = sscanf(inb, "begin%*1[ ]%*3[0-7]%*1[ ]%s", filename)) != 1)
++ if ((i = sscanf(inb, "begin%*1[ ]%*3[0-7]%*1[ ]%511s", filename)) != 1)
+ {
+ #ifdef DEBUG
+ if (edebug)