From 6a5880b2fdf0aeb0c2a04b53338f03db8393501a Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 6 Nov 2015 11:42:51 +0100 Subject: [PATCH] enum.c: fix crash in create_enum_domain (use int, not size_t when strlen == 1) --- coreapi/enum.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/coreapi/enum.c b/coreapi/enum.c index 1c0651675..419e7000e 100644 --- a/coreapi/enum.c +++ b/coreapi/enum.c @@ -33,8 +33,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static char *create_enum_domain(const char *number){ size_t len=strlen(number); char *domain=ms_malloc((len*2)+10); - size_t i,j; - + long i,j; + for (i=0,j=len-1;j>=0;j--){ domain[i]=number[j]; i++; @@ -105,11 +105,11 @@ int enum_lookup(const char *enum_domain, enum_lookup_res_t **res){ /* ns_msg handle; int count; - + memset(&handle,0,sizeof(handle)); *res=NULL; ms_message("Resolving %s...",enum_domain); - + err=res_search(enum_domain,ns_c_in,ns_t_naptr,dns_answer,DNS_ANSWER_MAX_SIZE); if (err<0){ ms_warning("Error resolving enum:",herror(h_errno)); @@ -117,7 +117,7 @@ int enum_lookup(const char *enum_domain, enum_lookup_res_t **res){ } ns_initparse(dns_answer,DNS_ANSWER_MAX_SIZE,&handle); count=ns_msg_count(handle,ns_s_an); - + for(i=0;i