From: <al...@us...> - 2002-09-26 18:46:10
|
Update of /cvsroot/msyslog/syslog/src/modules In directory usw-pr-cvs1:/tmp/cvs-serv7915/src/modules Modified Files: om_queue.c om_regex.c Log Message: replace strndup comment out buggy code (regex requires fix) Index: om_queue.c =================================================================== RCS file: /cvsroot/msyslog/syslog/src/modules/om_queue.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- om_queue.c 26 Sep 2002 18:32:26 -0000 1.5 +++ om_queue.c 26 Sep 2002 18:46:07 -0000 1.6 @@ -442,7 +442,7 @@ if (ctx->semaphore >= 0) break; if (ix > 5) { snprintf(statbuf, sizeof(statbuf), "om_queue: " - "semaphore set for key (0x%x) NOT created", semkey); + "semaphore set for key (0x%lx) NOT created", semkey); m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); *status = strdup(statbuf); return (-1); Index: om_regex.c =================================================================== RCS file: /cvsroot/msyslog/syslog/src/modules/om_regex.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- om_regex.c 17 Sep 2002 05:20:28 -0000 1.47 +++ om_regex.c 26 Sep 2002 18:46:07 -0000 1.48 @@ -355,7 +355,11 @@ *non_subst = realloc( *non_subst, current_bound * sizeof(char *) ); *subexp_no = realloc( *subexp_no, current_bound * sizeof(int) ); } - (*non_subst)[current_element] = unbackslash( strndup(start, pmatch[3].rm_so) ); + (*non_subst)[current_element] = malloc(pmatch[3].rm_so); + strncpy((*non_subst)[current_element], start, pmatch[3].rm_so - 1); + (*non_subst)[current_element][pmatch[3].rm_so - 1] = '\0'; + unbackslash((*non_subst)[current_element]); + (*subexp_no)[current_element] = atoi(&start[ pmatch[3].rm_so + 1 ]); ++current_element; @@ -522,11 +526,14 @@ } if (c->msg_subexp_no) free(c->msg_subexp_no); +#warning FIX THIS if (c->host_non_subst) { +#if 0 int ix; char *string; for(ix = c->host_no_subst ; ix >= 0 ; --ix) free(string); +#endif free(c->host_non_subst); } if (c->host_subexp_no) free(c->host_subexp_no); |