--- libaitcfg/src/parse.c 2008/09/30 20:00:26 1.1.1.1.2.2 +++ libaitcfg/src/parse.c 2008/10/13 17:29:18 1.1.1.1.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: parse.c,v 1.1.1.1.2.2 2008/09/30 20:00:26 misho Exp $ +* $Id: parse.c,v 1.1.1.1.2.3 2008/10/13 17:29:18 misho Exp $ * *************************************************************************/ #include "global.h" @@ -101,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; @@ -122,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) { @@ -132,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); } } @@ -164,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;