]> andersk Git - openssh.git/blobdiff - uuencode.c
- (djm) [uuencode.c]
[openssh.git] / uuencode.c
index 89fcb08152d744fd856128a4904d2f18d3272d5c..3128309cc96425e1e8fc90a92cbcacbbf6c8e58e 100644 (file)
@@ -1,3 +1,4 @@
+/* $OpenBSD: uuencode.c,v 1.22 2006/07/05 02:42:09 stevesk Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  *
  */
 
 #include "includes.h"
+
+#include <sys/types.h>
+
+#include <netinet/in.h>
+
+#include <resolv.h>
+
 #include "xmalloc.h"
 #include "uuencode.h"
-RCSID("$OpenBSD: uuencode.c,v 1.15 2002/03/04 17:27:39 stevesk Exp $");
 
 int
-uuencode(u_char *src, u_int srclength,
+uuencode(const u_char *src, u_int srclength,
     char *target, size_t targsize)
 {
        return __b64_ntop(src, srclength, target, targsize);
@@ -57,9 +64,14 @@ uudecode(const char *src, u_char *target, size_t targsize)
 void
 dump_base64(FILE *fp, u_char *data, u_int len)
 {
-       u_char *buf = xmalloc(2*len);
+       char *buf;
        int i, n;
 
+       if (len > 65536) {
+               fprintf(fp, "dump_base64: len > 65536\n");
+               return;
+       }
+       buf = xmalloc(2*len);
        n = uuencode(data, len, buf, 2*len);
        for (i = 0; i < n; i++) {
                fprintf(fp, "%c", buf[i]);
This page took 0.250497 seconds and 4 git commands to generate.