Hello community, here is the log from the commit of package cron checked in at Wed Aug 23 20:46:36 CEST 2006. -------- --- cron/cron.changes 2006-05-29 16:50:35.000000000 +0200 +++ cron/cron.changes 2006-08-23 11:50:49.000000000 +0200 @@ -1,0 +2,5 @@ +Wed Aug 23 11:39:42 CEST 2006 - mkoenig@suse.de + +- fixed segfault bug [#199153] + +------------------------------------------------------------------- New: ---- vixie-cron-4.1-segfault.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cron.spec ++++++ --- /var/tmp/diff_new_pack.e1krWI/_old 2006-08-23 20:46:28.000000000 +0200 +++ /var/tmp/diff_new_pack.e1krWI/_new 2006-08-23 20:46:28.000000000 +0200 @@ -18,7 +18,7 @@ Autoreqprov: on PreReq: permissions Version: 4.1 -Release: 45 +Release: 47 Summary: cron Daemon Source0: vixie-%name-%version.tar.bz2 Source1: %name.init @@ -39,6 +39,7 @@ Patch12: vixie-cron-4.1-sendasuser.diff Patch13: vixie-cron-4.1-stat-no-fstat.diff Patch14: vixie-cron-4.1-privilege_escalation.patch +Patch15: vixie-cron-4.1-segfault.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -72,6 +73,7 @@ %patch12 -p0 %patch13 -p1 %patch14 -p1 +%patch15 -p0 %build make DEFS="$RPM_OPT_FLAGS -DWITH_PAM -Wno-comment -fpie -fstack-protector" LDFLAGS="-pie" @@ -131,6 +133,8 @@ /usr/lib/cron %changelog -n cron +* Wed Aug 23 2006 - mkoenig@suse.de +- fixed segfault bug [#199153] * Mon May 29 2006 - kssingvo@suse.de - fixed priviledge escalation bug CVE-2006-2607 (bugzilla#178863) * Tue Mar 28 2006 - hvogel@suse.de ++++++ vixie-cron-4.1-segfault.patch ++++++ --- do_command.c +++ do_command.c @@ -510,24 +510,13 @@ /* this was the first char from the pipe */ putc(ch, mail); - } - /* we have to read the input pipe no matter whether - * we mail or not, but obviously we only write to - * mail pipe if we ARE mailing. - */ - - while (EOF != (ch = getc(in))) { - bytes++; - if (mailto) + while (EOF != (ch = getc(in))) { + bytes++; putc(ch, mail); - } - /* only close pipe if we opened it -- i.e., we're - * mailing... - */ + } - if (mailto) { Debug(DPROC, ("[%ld] closing pipe to mail\n", (long)getpid())) /* Note: the pclose will probably see @@ -537,20 +526,28 @@ * after closing its stdout. */ status = cron_pclose(mail); - } - /* if there was output and we could not mail it, - * log the facts so the poor user can figure out - * what's going on. - */ - if (mailto && status) { - char buf[MAX_TEMPSTR]; - - sprintf(buf, - "mailed %d byte%s of output but got status 0x%04x\n", - bytes, (bytes==1)?"":"s", - status); - log_it(usernm, getpid(), "MAIL", buf); + /* if there was output and we could not mail it, + * log the facts so the poor user can figure out + * what's going on. + */ + if (status) { + char buf[MAX_TEMPSTR]; + + sprintf(buf, + "mailed %d byte%s of output but" + "got status 0x%04x\n", + bytes, (bytes==1)?"":"s", + status); + log_it(usernm, getpid(), "MAIL", buf); + } + } else { + /* we have to read the input pipe no matter whether + * we mail or not, but obviously we only write to + * mail pipe if we ARE mailing. + */ + while (EOF != (ch = getc(in))) + bytes++; } } /*if data from grandchild*/ @@ -593,7 +590,7 @@ static int safe_p(const char *usernm, const char *s) { - static const char safe_delim[] = "@!:%-.,"; /* conservative! */ + static const char safe_delim[] = "@!:%-.,+"; /* conservative! */ const char *t; int ch, first; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@suse.de