--- libaitcfg/src/parse.c 2008/09/30 15:03:56 1.1.1.1.2.1 +++ libaitcfg/src/parse.c 2008/10/13 17:29:18 1.1.1.1.2.3 @@ -1,3 +1,11 @@ +/************************************************************************* +* (C) 2008 AITNET ltd - Sofia/Bulgaria - +* by Michael Pounov +* +* $Author: misho $ +* $Id: parse.c,v 1.1.1.1.2.3 2008/10/13 17:29:18 misho Exp $ +* +*************************************************************************/ #include "global.h" #include "aitcfg.h" #include "tools.h" @@ -93,7 +101,7 @@ int ReadConfig(FILE *f, sl_config * __restrict cfg) free(av); return -1; } else - strcpy((char*) av->psSection, (char*) szSection); + strlcpy((char*) av->psSection, (char*) szSection, strlen((char*) szSection) + 1); } else av->psSection = NULL; @@ -114,7 +122,7 @@ int ReadConfig(FILE *f, sl_config * __restrict cfg) free(av); return -1; } else - strcpy((char*) av->psAttribute, (char*) psAttr); + strlcpy((char*) av->psAttribute, (char*) psAttr, strlen((char*) psAttr) + 1); // added value to element av->psValue = malloc(strlen((char*) psVal) + 1); if (!av->psValue) { @@ -124,7 +132,7 @@ int ReadConfig(FILE *f, sl_config * __restrict cfg) free(av); return -1; } else - strcpy((char*) av->psValue, (char*) psVal); + strlcpy((char*) av->psValue, (char*) psVal, strlen((char*) psVal) + 1); } } @@ -156,8 +164,7 @@ int WriteConfig(FILE *f, sl_config * __restrict cfg) for (av = cfg->slh_first; av; av = av->sle_next) { if (av->psSection && strcmp((char*) av->psSection, (char*) szSection)) { - bzero(szSection, MAX_STR + 1); - strcpy((char*) szSection, (char*) av->psSection); + strlcpy((char*) szSection, (char*) av->psSection, MAX_STR + 1); if (!cfgDbg(f, "\n[%s]\n", av->psSection)) { LOGERR; return -1;