From b97c969fee0f3c4d67cac738703fd98ff95bd3f3 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 28 Nov 2001 21:04:25 +0000 Subject: [PATCH] PyGrammar_LabelRepr(): Conversion of sprintf() to PyOS_snprintf() for buffer overrun avoidance. --- Parser/grammar1.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Parser/grammar1.c b/Parser/grammar1.c index b2631b785d5..45af139dac3 100644 --- a/Parser/grammar1.c +++ b/Parser/grammar1.c @@ -1,4 +1,4 @@ - +#include "Python.h" /* Grammar subroutines needed by parser */ #include "pgenheaders.h" @@ -39,7 +39,7 @@ PyGrammar_LabelRepr(label *lb) return "EMPTY"; else if (ISNONTERMINAL(lb->lb_type)) { if (lb->lb_str == NULL) { - sprintf(buf, "NT%d", lb->lb_type); + PyOS_snprintf(buf, sizeof(buf), "NT%d", lb->lb_type); return buf; } else @@ -49,8 +49,9 @@ PyGrammar_LabelRepr(label *lb) if (lb->lb_str == NULL) return _PyParser_TokenNames[lb->lb_type]; else { - sprintf(buf, "%.32s(%.32s)", - _PyParser_TokenNames[lb->lb_type], lb->lb_str); + PyOS_snprintf(buf, sizeof(buf), "%.32s(%.32s)", + _PyParser_TokenNames[lb->lb_type], + lb->lb_str); return buf; } }