the return from asprintf does NOT include the space used by the
authordlg <dlg@openbsd.org>
Tue, 7 Jan 2014 00:11:11 +0000 (00:11 +0000)
committerdlg <dlg@openbsd.org>
Tue, 7 Jan 2014 00:11:11 +0000 (00:11 +0000)
terminating \0 character. if i want to use it as a c string i have
to take that into account.

found by simon kuhnle who supplied a good bug report. prodded by deraadt@

usr.sbin/identd/identd.c

index 0cfef24..6e628e8 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: identd.c,v 1.23 2013/11/21 03:09:07 dlg Exp $ */
+/*     $OpenBSD: identd.c,v 1.24 2014/01/07 00:11:11 dlg Exp $ */
 
 /*
  * Copyright (c) 2013 David Gwynne <dlg@openbsd.org>
@@ -395,7 +395,7 @@ parent_rd(int fd, short events, void *arg)
                goto done;
        }
 
-       r->buflen = n;
+       r->buflen = n + 1;
 
 done:
        SIMPLEQ_INSERT_TAIL(&sc.parent.replies, r, entry);