2004-06-08 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Tue, 8 Jun 2004 17:48:37 +0000 (17:48 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Tue, 8 Jun 2004 17:48:37 +0000 (17:48 +0000)
* assuan-buffer.c (assuan_write_line): If the line is longer than
the maximum line length, bail out early.

assuan/ChangeLog
assuan/assuan-buffer.c

index 53547439def3527bc3d8576bb560fafbabc0c503..92d4b3ab57d830df2172dbb0cb2d0eb21b161fcf 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * assuan-buffer.c (assuan_write_line): If the line is longer than
+       the maximum line length, bail out early.
+
 2004-04-19  Werner Koch  <wk@gnupg.org>
 
        * assuan-socket-connect.c: Include sys/types.h
index 59518f250ff5e18b91ce1f1a23dd658113bf4c0d..01e770016298a02bc771e180db09b48a47bbbc67 100644 (file)
@@ -238,6 +238,9 @@ assuan_write_line (ASSUAN_CONTEXT ctx, const char *line)
   s = strchr (line, '\n');
   len = s? (s-line) : strlen (line);
 
+  if (len > LINELENGTH - 2)
+    return ASSUAN_Line_Too_Long;
+
   /* fixme: we should do some kind of line buffering.  */
   if (ctx->log_fp)
     {