--- util.c 2006-05-19 07:13:19.000000000 -0300 +++ ../sarg-2.2.1-patch/util.c 2006-05-25 11:44:46.000000000 -0300 @@ -977,7 +977,13 @@ char *subs(char *str, char *from, char * return (char *) str; ss = strlen(str); st = strlen(to) + 10; - ret = (char *) malloc(ss + st); + + if((ret=(char *) malloc(ss + st))==NULL) + { + fprintf(stderr, "SARG: %s (%d):\n",text[59],ss+st); + exit(1); + } + bzero(ret,ss+st); tmp = strstr(str, from); --- grepday.c 2006-05-19 07:13:19.000000000 -0300 +++ ../sarg-2.2.1-patch/grepday.c 2006-05-25 11:43:22.000000000 -0300 @@ -54,7 +54,12 @@ BGD_DECLARE(char *) I18NgdImageStringFT slen = strlen(string) + 1; // We must include string termination character sslen = slen * 2; // We assume that UTF8 maximum 2 times large than local - sstring = (char *)malloc(sslen); + + if((sstring=(char *) malloc(sslen))==NULL) + { + fprintf(stderr, "SARG: %s (%d):\n",text[59],sslen); + exit(1); + } str = (char *) string; sstr = (char *) sstring;