@@ -568,13 +568,13 @@ Array Pattern_match_MINUS_all_MINUS_groups(Pattern *p, String *s) {
568568String Pattern_internal_add_char (String a , Char b ) {
569569 if (!a ) {
570570 String buffer = CARP_MALLOC (2 );
571- sprintf (buffer , "%c" , b );
571+ snprintf (buffer , 1 , "%c" , b );
572572 return buffer ;
573573 }
574574
575575 int len = strlen (a ) + 2 ;
576576 String buffer = CARP_MALLOC (len );
577- sprintf (buffer , "%s%c" , a , b );
577+ snprintf (buffer , len - 1 , "%s%c" , a , b );
578578 CARP_FREE (a );
579579 return buffer ;
580580}
@@ -645,7 +645,7 @@ String Pattern_substitute(Pattern *p, String *s, String *t, int ns) {
645645
646646 int l = strlen (res ) + strlen (str ) + 1 ;
647647 String buffer = CARP_MALLOC (l );
648- sprintf (buffer , "%s%s" , res , str );
648+ snprintf (buffer , l - 1 , "%s%s" , res , str );
649649 CARP_FREE (res );
650650 return buffer ;
651651}
@@ -671,7 +671,7 @@ String Pattern_str(Pattern *p) {
671671String Pattern_prn (Pattern * p ) {
672672 int n = strlen (* p ) + 4 ;
673673 String buffer = CARP_MALLOC (n );
674- sprintf (buffer , "#\"%s\"" , * p );
674+ snprintf (buffer , n - 1 , "#\"%s\"" , * p );
675675 return buffer ;
676676}
677677
0 commit comments