diff options
author | dinoex <dinoex@FreeBSD.org> | 2010-06-19 12:09:32 +0800 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2010-06-19 12:09:32 +0800 |
commit | 5a6f2f9682587caee32107e07d0b3907a94ba47b (patch) | |
tree | fd2ee7e36c5beffb45d389591b55637030664226 /print | |
parent | 4098994291297a51cd1e5aee696c42bab9e1168f (diff) | |
download | freebsd-ports-gnome-5a6f2f9682587caee32107e07d0b3907a94ba47b.tar.gz freebsd-ports-gnome-5a6f2f9682587caee32107e07d0b3907a94ba47b.tar.zst freebsd-ports-gnome-5a6f2f9682587caee32107e07d0b3907a94ba47b.zip |
- Security update to 1.4.4
- Security fix for deny of service vulnerability
Security: CVE-2009-3553
Security: CVE-2010-0302
PR: 147978
Approved by: portmgr (erwin)
Feature safe: yes
Diffstat (limited to 'print')
-rw-r--r-- | print/cups-base/Makefile | 1 | ||||
-rw-r--r-- | print/cups-base/files/patch-CVE-2009-3553 | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/print/cups-base/Makefile b/print/cups-base/Makefile index c1959f1335e4..1940a6f65121 100644 --- a/print/cups-base/Makefile +++ b/print/cups-base/Makefile @@ -89,6 +89,7 @@ USE_LDCONFIG= yes PKGMESSAGE= ${NONEXISTENT} DESCR= ${MASTERDIR}/pkg-descr.image .else +PORTREVISION= 1 CONFLICTS+= cupsddk-* CUPS_SUFFIX= -base LIB_DEPENDS+= cups.2:${PORTSDIR}/${PKGCATEGORY}/cups-client \ diff --git a/print/cups-base/files/patch-CVE-2009-3553 b/print/cups-base/files/patch-CVE-2009-3553 new file mode 100644 index 000000000000..34c698734be7 --- /dev/null +++ b/print/cups-base/files/patch-CVE-2009-3553 @@ -0,0 +1,36 @@ +From b6b656f4b431574069d5b17dc6d3d44910269bb9 Mon Sep 17 00:00:00 2001 +From: Tim Waugh <twaugh@redhat.com> +Date: Wed, 3 Feb 2010 16:07:11 +0000 +Subject: [PATCH] More complete fix for CVE-2009-3553. + +--- + scheduler/select.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/scheduler/select.c b/scheduler/select.c +index 21a6edc..a2451a5 100644 +--- scheduler/select.c ++++ scheduler/select.c +@@ -454,7 +454,8 @@ cupsdDoSelect(long timeout) /* I - Timeout in seconds */ + if (fdptr->read_cb && event->filter == EVFILT_READ) + (*(fdptr->read_cb))(fdptr->data); + +- if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE) ++ if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE && ++ !cupsArrayFind(cupsd_inactive_fds, fdptr)) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); +@@ -500,7 +501,8 @@ cupsdDoSelect(long timeout) /* I - Timeout in seconds */ + (*(fdptr->read_cb))(fdptr->data); + + if (fdptr->use > 1 && fdptr->write_cb && +- (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) ++ (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP)) && ++ !cupsArrayFind(cupsd_inactive_fds, fdptr)) + (*(fdptr->write_cb))(fdptr->data); + + release_fd(fdptr); +-- +1.6.6 + |