From e3224389f7dbb98a601ab527bc033199937d6324 Mon Sep 17 00:00:00 2001 From: Yoan Blanc Date: Wed, 26 Aug 2020 09:30:02 +0200 Subject: [PATCH 1/2] fix: prevent buffer overflow Closes #73 Signed-off-by: Yoan Blanc --- src/lib/editorconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/editorconfig.c b/src/lib/editorconfig.c index 977819f..271ab6d 100644 --- a/src/lib/editorconfig.c +++ b/src/lib/editorconfig.c @@ -153,7 +153,7 @@ static int array_editorconfig_name_value_add( /* name_lwr is the lowercase property name */ - strlwr(strcpy(name_lwr, name)); + strlwr(strncpy(name_lwr, name, MAX_PROPERTY_NAME)); name_value_pos = find_name_value_from_name( aenv->name_values, aenv->current_value_count, name_lwr); From 836830e161330a68af467f6965b752a71dae681d Mon Sep 17 00:00:00 2001 From: Yoan Blanc Date: Thu, 27 Aug 2020 10:35:17 +0200 Subject: [PATCH 2/2] fixup! fix: prevent buffer overflow Signed-off-by: Yoan Blanc --- src/lib/editorconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/editorconfig.c b/src/lib/editorconfig.c index 271ab6d..e5262ca 100644 --- a/src/lib/editorconfig.c +++ b/src/lib/editorconfig.c @@ -138,7 +138,7 @@ static int array_editorconfig_name_value_add( int name_value_pos; /* always use name_lwr but not name, since property names are case * insensitive */ - char name_lwr[MAX_PROPERTY_NAME]; + char name_lwr[MAX_PROPERTY_NAME+1] = {0}; /* For the first time we came here, aenv->name_values is NULL */ if (aenv->name_values == NULL) { aenv->name_values = (editorconfig_name_value*)malloc(