From 664243f5ce44e6cb9288952eb88c89317856e82e Mon Sep 17 00:00:00 2001 From: Michal Ptaszek Date: Thu, 21 Jul 2011 11:02:10 +0200 Subject: [PATCH] Fixed buffer overflow when doing strcp on cdata --- c_src/exml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c_src/exml.c b/c_src/exml.c index 831bfc5..703260b 100644 --- a/c_src/exml.c +++ b/c_src/exml.c @@ -58,7 +58,7 @@ void *character_data_handler(expat_parser *parser_data, const XML_Char *s, int l ErlNifBinary cdata; enif_alloc_binary(len, &cdata); - strcpy((char *) cdata.data, (const char *)s); + strncpy((char *)cdata.data, (const char *)s, len); ERL_NIF_TERM event = enif_make_tuple(parser_data->env, 2, enif_make_atom(parser_data->env, "xml_cdata"),