From 3eb4bdae2e03fd170ab041800d3ba49821ae6eec Mon Sep 17 00:00:00 2001 From: sobomax Date: Mon, 14 Jan 2002 18:05:35 +0000 Subject: - Open /dev/apm read-only; - don't leak file descripton if for fome reasom ioctl(2) on /dev/apm has failed. Submitted by: Anders Andersson (ro /dev/apm) sobomax (descriptor leak) --- x11/gnome-applets/Makefile | 1 + .../files/patch-battery::read-battery.c | 22 ++++++++++++++++++++++ x11/gnomeapplets/Makefile | 1 + .../files/patch-battery::read-battery.c | 22 ++++++++++++++++++++++ x11/gnomeapplets2/Makefile | 1 + .../files/patch-battery::read-battery.c | 22 ++++++++++++++++++++++ 6 files changed, 69 insertions(+) create mode 100644 x11/gnome-applets/files/patch-battery::read-battery.c create mode 100644 x11/gnomeapplets/files/patch-battery::read-battery.c create mode 100644 x11/gnomeapplets2/files/patch-battery::read-battery.c diff --git a/x11/gnome-applets/Makefile b/x11/gnome-applets/Makefile index af1f57b53dd8..8496b15e02c8 100644 --- a/x11/gnome-applets/Makefile +++ b/x11/gnome-applets/Makefile @@ -7,6 +7,7 @@ PORTNAME= gnomeapplets PORTVERSION= 1.4.0.4 +PORTREVISION= 1 CATEGORIES= x11 gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= stable/sources/gnome-applets diff --git a/x11/gnome-applets/files/patch-battery::read-battery.c b/x11/gnome-applets/files/patch-battery::read-battery.c new file mode 100644 index 000000000000..b21c4f82e519 --- /dev/null +++ b/x11/gnome-applets/files/patch-battery::read-battery.c @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- battery/read-battery.c 2002/01/14 14:23:46 1.1 ++++ battery/read-battery.c 2002/01/14 14:25:45 +@@ -170,7 +170,7 @@ + *hours_remaining = -1; + *minutes_remaining = 1; + +- fd = open(APMDEV, O_RDWR); ++ fd = open(APMDEV, O_RDONLY); + if (fd == -1) + { + g_error (_("Cannot open /dev/apm; can't get data.")); +@@ -179,6 +179,7 @@ + + if (ioctl(fd, APMIO_GETINFO, &aip) == -1) { + g_error(_("ioctl failed on /dev/apm.")); ++ close(fd); + return FALSE; + } + diff --git a/x11/gnomeapplets/Makefile b/x11/gnomeapplets/Makefile index af1f57b53dd8..8496b15e02c8 100644 --- a/x11/gnomeapplets/Makefile +++ b/x11/gnomeapplets/Makefile @@ -7,6 +7,7 @@ PORTNAME= gnomeapplets PORTVERSION= 1.4.0.4 +PORTREVISION= 1 CATEGORIES= x11 gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= stable/sources/gnome-applets diff --git a/x11/gnomeapplets/files/patch-battery::read-battery.c b/x11/gnomeapplets/files/patch-battery::read-battery.c new file mode 100644 index 000000000000..b21c4f82e519 --- /dev/null +++ b/x11/gnomeapplets/files/patch-battery::read-battery.c @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- battery/read-battery.c 2002/01/14 14:23:46 1.1 ++++ battery/read-battery.c 2002/01/14 14:25:45 +@@ -170,7 +170,7 @@ + *hours_remaining = -1; + *minutes_remaining = 1; + +- fd = open(APMDEV, O_RDWR); ++ fd = open(APMDEV, O_RDONLY); + if (fd == -1) + { + g_error (_("Cannot open /dev/apm; can't get data.")); +@@ -179,6 +179,7 @@ + + if (ioctl(fd, APMIO_GETINFO, &aip) == -1) { + g_error(_("ioctl failed on /dev/apm.")); ++ close(fd); + return FALSE; + } + diff --git a/x11/gnomeapplets2/Makefile b/x11/gnomeapplets2/Makefile index af1f57b53dd8..8496b15e02c8 100644 --- a/x11/gnomeapplets2/Makefile +++ b/x11/gnomeapplets2/Makefile @@ -7,6 +7,7 @@ PORTNAME= gnomeapplets PORTVERSION= 1.4.0.4 +PORTREVISION= 1 CATEGORIES= x11 gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= stable/sources/gnome-applets diff --git a/x11/gnomeapplets2/files/patch-battery::read-battery.c b/x11/gnomeapplets2/files/patch-battery::read-battery.c new file mode 100644 index 000000000000..b21c4f82e519 --- /dev/null +++ b/x11/gnomeapplets2/files/patch-battery::read-battery.c @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- battery/read-battery.c 2002/01/14 14:23:46 1.1 ++++ battery/read-battery.c 2002/01/14 14:25:45 +@@ -170,7 +170,7 @@ + *hours_remaining = -1; + *minutes_remaining = 1; + +- fd = open(APMDEV, O_RDWR); ++ fd = open(APMDEV, O_RDONLY); + if (fd == -1) + { + g_error (_("Cannot open /dev/apm; can't get data.")); +@@ -179,6 +179,7 @@ + + if (ioctl(fd, APMIO_GETINFO, &aip) == -1) { + g_error(_("ioctl failed on /dev/apm.")); ++ close(fd); + return FALSE; + } + -- cgit