From 7e048908381ff3516f5c9f3637a826b8d6a6ffcc Mon Sep 17 00:00:00 2001 From: joerg Date: Wed, 11 May 2011 23:20:46 +0000 Subject: [PATCH] Fix two rather obviousbuffer overflows, one of them hitting all the time. Inspired by corresponding FreeBSD patch. --- gnu/dist/texinfo/makeinfo/sectioning.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/dist/texinfo/makeinfo/sectioning.c b/gnu/dist/texinfo/makeinfo/sectioning.c index e8f202ed700b..73f21e0d84df 100644 --- a/gnu/dist/texinfo/makeinfo/sectioning.c +++ b/gnu/dist/texinfo/makeinfo/sectioning.c @@ -1,4 +1,4 @@ -/* $NetBSD: sectioning.c,v 1.1.1.5 2008/09/02 07:50:20 christos Exp $ */ +/* $NetBSD: sectioning.c,v 1.2 2011/05/11 23:20:46 joerg Exp $ */ /* sectioning.c -- for @chapter, @section, ..., @contents ... Id: sectioning.c,v 1.25 2004/07/05 22:23:23 karl Exp @@ -258,14 +258,13 @@ current_chapter_number (void) return xstrdup (""); else if (enum_marker == APPENDIX_MAGIC) { - char s[1]; - sprintf (s, "%c", numbers[0] + 64); + char s[2] = { numbers[0] + 64, '\0' }; return xstrdup (s); } else { - char s[5]; - sprintf (s, "%d", numbers[0]); + char s[11]; + snprintf (s, sizeof(s), "%d", numbers[0]); return xstrdup (s); } }