Fix a long standing bug in pid_get_parent on OpenBSD where kp wasn't properly
allocated and the function could randomly fail. Already merged upstream. with robert@
This commit is contained in:
parent
783b4d996a
commit
5ef2c9da4b
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.225 2018/09/04 12:46:27 espie Exp $
|
||||
# $OpenBSD: Makefile,v 1.226 2019/05/13 19:28:27 ajacoutot Exp $
|
||||
|
||||
# Everything is a Freaking GLib/GTK+ problem
|
||||
CFLAGS += -g
|
||||
@ -9,11 +9,12 @@ COMMENT-cups= gtk+2 CUPS print backend
|
||||
|
||||
GNOME_VERSION= 2.24.32
|
||||
GNOME_PROJECT= gtk+
|
||||
REVISION= 0
|
||||
|
||||
PKGNAME-main= gtk+2-${GNOME_VERSION}
|
||||
PKGNAME-cups= gtk+2-cups-${GNOME_VERSION}
|
||||
REVISION-main= 2
|
||||
|
||||
REVISION-main= 3
|
||||
REVISION-cups= 1
|
||||
|
||||
CATEGORIES= x11 devel
|
||||
|
||||
@ -33,12 +34,12 @@ WANTLIB += Xrandr Xrender atk-1.0 cairo expat ffi fontconfig
|
||||
WANTLIB += freetype gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0
|
||||
WANTLIB += gobject-2.0 graphite2 gthread-2.0 harfbuzz m pango-1.0
|
||||
WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre pixman-1 png pthread
|
||||
WANTLIB += xcb xcb-render xcb-shm z iconv intl
|
||||
WANTLIB += xcb xcb-render xcb-shm z iconv intl fribidi
|
||||
|
||||
WANTLIB-main += ${WANTLIB} c
|
||||
|
||||
WANTLIB-cups += ${WANTLIB}
|
||||
WANTLIB-cups += avahi-client avahi-common cups dbus-1 gdk-x11-2.0 gmp
|
||||
WANTLIB-cups += avahi-client avahi-common cups dbus-1 gdk-x11-2.0 gmp fribidi
|
||||
WANTLIB-cups += gnutls gtk-x11-2.0 hogweed idn2 nettle p11-kit tasn1 unistring
|
||||
|
||||
MULTI_PACKAGES= -main -cups
|
||||
|
@ -1,4 +1,9 @@
|
||||
$OpenBSD: patch-gtk_gtkmountoperation-x11_c,v 1.2 2014/04/25 15:11:55 ajacoutot Exp $
|
||||
$OpenBSD: patch-gtk_gtkmountoperation-x11_c,v 1.3 2019/05/13 19:28:27 ajacoutot Exp $
|
||||
|
||||
From 0334ea1c889331adb02d361670e24b3f85b5b0d6 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Jacoutot <ajacoutot@gnome.org>
|
||||
Date: Mon, 13 May 2019 20:47:46 +0200
|
||||
Subject: [PATCH] pid_get_parent: fix for OpenBSD
|
||||
|
||||
From ad9da2727d3e3243fd052c9feb0c55645e87d384 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Matthew <jmatthew@openbsd.org>
|
||||
@ -25,8 +30,9 @@ From: Antoine Jacoutot <ajacoutot@gnome.org>
|
||||
Date: Fri, 25 Apr 2014 14:37:59 +0200
|
||||
Subject: openbsd: properly set len for gtkmountoperation-x11
|
||||
|
||||
--- gtk/gtkmountoperation-x11.c.orig Wed Apr 16 16:16:11 2014
|
||||
+++ gtk/gtkmountoperation-x11.c Wed Apr 16 16:17:59 2014
|
||||
Index: gtk/gtkmountoperation-x11.c
|
||||
--- gtk/gtkmountoperation-x11.c.orig
|
||||
+++ gtk/gtkmountoperation-x11.c
|
||||
@@ -43,9 +43,6 @@
|
||||
#include <errno.h>
|
||||
|
||||
@ -37,7 +43,7 @@ Subject: openbsd: properly set len for gtkmountoperation-x11
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
@@ -724,6 +721,100 @@ pid_get_command_line (GPid pid)
|
||||
@@ -724,6 +721,103 @@ pid_get_command_line (GPid pid)
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
@ -49,7 +55,7 @@ Subject: openbsd: properly set len for gtkmountoperation-x11
|
||||
+static GPid
|
||||
+pid_get_parent (GPid pid)
|
||||
+{
|
||||
+ struct kinfo_proc kp;
|
||||
+ struct kinfo_proc *kp;
|
||||
+ size_t len;
|
||||
+ GPid ppid;
|
||||
+
|
||||
@ -60,11 +66,14 @@ Subject: openbsd: properly set len for gtkmountoperation-x11
|
||||
+ return (-1);
|
||||
+ mib[5] = (len / sizeof(struct kinfo_proc));
|
||||
+
|
||||
+ if (sysctl (mib, G_N_ELEMENTS (mib), &kp, &len, NULL, 0) < 0)
|
||||
+ kp = g_malloc0 (len);
|
||||
+
|
||||
+ if (sysctl (mib, G_N_ELEMENTS (mib), kp, &len, NULL, 0) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ ppid = kp.p_ppid;
|
||||
+ ppid = kp->p_ppid;
|
||||
+
|
||||
+ g_free (kp);
|
||||
+ return ppid;
|
||||
+}
|
||||
+
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.210 2019/04/16 08:11:10 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.211 2019/05/13 19:28:28 ajacoutot Exp $
|
||||
|
||||
# XXX add support for libcloudproviders?
|
||||
|
||||
@ -21,6 +21,10 @@ PKGNAME-cups= gtk+3-cups-${GNOME_VERSION}
|
||||
PKGNAME-cloudprint= gtk+3-cloudprint-${GNOME_VERSION}
|
||||
PKGNAME-guic= gtk-update-icon-cache-${GNOME_VERSION}
|
||||
|
||||
REVISION-main= 0
|
||||
REVISION-cups= 0
|
||||
REVISION-cloudprint= 0
|
||||
|
||||
CATEGORIES= x11 devel
|
||||
|
||||
SHARED_LIBS += gdk-3 2201.1 # 2404.4
|
||||
@ -59,7 +63,7 @@ WANTLIB-main += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi
|
||||
WANTLIB-main += Xinerama Xrandr Xrender atk-1.0 atk-bridge-2.0 atspi
|
||||
WANTLIB-main += cairo cairo-gobject dbus-1 expat fontconfig freetype
|
||||
WANTLIB-main += graphite2 gthread-2.0 harfbuzz pango-1.0 pangocairo-1.0
|
||||
WANTLIB-main += pangoft2-1.0 pixman-1 xcb xcb-render xcb-shm png16
|
||||
WANTLIB-main += pangoft2-1.0 pixman-1 xcb xcb-render xcb-shm png
|
||||
|
||||
LIB_DEPENDS-cups= ${LIB_DEPENDS} \
|
||||
print/cups,-libs \
|
||||
@ -71,7 +75,7 @@ WANTLIB-cups += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi
|
||||
WANTLIB-cups += Xinerama Xrandr Xrender atk-1.0 atk-bridge-2.0 atspi
|
||||
WANTLIB-cups += cairo cairo-gobject dbus-1 expat fontconfig freetype
|
||||
WANTLIB-cups += graphite2 gthread-2.0 harfbuzz pango-1.0 pangocairo-1.0
|
||||
WANTLIB-cups += pangoft2-1.0 pixman-1 xcb xcb-render png16
|
||||
WANTLIB-cups += pangoft2-1.0 pixman-1 xcb xcb-render png
|
||||
WANTLIB-cups += avahi-client avahi-common cups gdk-3 gmp xcb-shm
|
||||
WANTLIB-cups += gnutls gtk-3 hogweed nettle p11-kit tasn1 unistring
|
||||
|
||||
@ -88,7 +92,7 @@ WANTLIB-cloudprint += cairo cairo-gobject dbus-1 expat fontconfig freetype
|
||||
WANTLIB-cloudprint += graphite2 gthread-2.0 harfbuzz pango-1.0 pangocairo-1.0
|
||||
WANTLIB-cloudprint += pangoft2-1.0 pixman-1 xcb xcb-render
|
||||
WANTLIB-cloudprint += gdk-3 gtk-3 json-glib-1.0 rest-0.7 soup-2.4 soup-gnome-2.4
|
||||
WANTLIB-cloudprint += sqlite3 xml2 lzma xcb-shm png16
|
||||
WANTLIB-cloudprint += sqlite3 xml2 lzma xcb-shm png
|
||||
|
||||
LIB_DEPENDS-guic= graphics/gdk-pixbuf2
|
||||
RUN_DEPENDS-guic= x11/hicolor-icon-theme
|
||||
|
36
x11/gtk+3/patches/patch-gtk_gtkmountoperation-x11_c
Normal file
36
x11/gtk+3/patches/patch-gtk_gtkmountoperation-x11_c
Normal file
@ -0,0 +1,36 @@
|
||||
$OpenBSD: patch-gtk_gtkmountoperation-x11_c,v 1.14 2019/05/13 19:28:28 ajacoutot Exp $
|
||||
|
||||
From 0334ea1c889331adb02d361670e24b3f85b5b0d6 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Jacoutot <ajacoutot@gnome.org>
|
||||
Date: Mon, 13 May 2019 20:47:46 +0200
|
||||
Subject: [PATCH] pid_get_parent: fix for OpenBSD
|
||||
|
||||
Index: gtk/gtkmountoperation-x11.c
|
||||
--- gtk/gtkmountoperation-x11.c.orig
|
||||
+++ gtk/gtkmountoperation-x11.c
|
||||
@@ -720,7 +720,7 @@ pid_get_command_line (GPid pid)
|
||||
static GPid
|
||||
pid_get_parent (GPid pid)
|
||||
{
|
||||
- struct kinfo_proc kp;
|
||||
+ struct kinfo_proc *kp;
|
||||
size_t len;
|
||||
GPid ppid;
|
||||
|
||||
@@ -731,11 +731,14 @@ pid_get_parent (GPid pid)
|
||||
return (-1);
|
||||
mib[5] = (len / sizeof(struct kinfo_proc));
|
||||
|
||||
- if (sysctl (mib, G_N_ELEMENTS (mib), &kp, &len, NULL, 0) < 0)
|
||||
+ kp = g_malloc0 (len);
|
||||
+
|
||||
+ if (sysctl (mib, G_N_ELEMENTS (mib), kp, &len, NULL, 0) < 0)
|
||||
return -1;
|
||||
|
||||
- ppid = kp.p_ppid;
|
||||
+ ppid = kp->p_ppid;
|
||||
|
||||
+ g_free (kp);
|
||||
return ppid;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.9 2019/05/09 13:42:04 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.10 2019/05/13 19:28:28 ajacoutot Exp $
|
||||
|
||||
# XXX: PORTROACH is set at the end of this file to override gnome.port.mk
|
||||
|
||||
@ -24,6 +24,8 @@ PKGNAME-cloudprint= gtk+4-cloudprint-${GNOME_VERSION}
|
||||
PKGNAME-guic= gtk4-update-icon-cache-${GNOME_VERSION}
|
||||
PKGNAME-media= gtk+4-media-${GNOME_VERSION}
|
||||
|
||||
REVISION-main= 0
|
||||
|
||||
CATEGORIES= x11 devel
|
||||
|
||||
SHARED_LIBS += gtk-4 1.0 # 0.9300.0
|
||||
|
36
x11/gtk+4/patches/patch-gtk_gtkmountoperation-x11_c
Normal file
36
x11/gtk+4/patches/patch-gtk_gtkmountoperation-x11_c
Normal file
@ -0,0 +1,36 @@
|
||||
$OpenBSD: patch-gtk_gtkmountoperation-x11_c,v 1.1 2019/05/13 19:28:28 ajacoutot Exp $
|
||||
|
||||
From 0334ea1c889331adb02d361670e24b3f85b5b0d6 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Jacoutot <ajacoutot@gnome.org>
|
||||
Date: Mon, 13 May 2019 20:47:46 +0200
|
||||
Subject: [PATCH] pid_get_parent: fix for OpenBSD
|
||||
|
||||
Index: gtk/gtkmountoperation-x11.c
|
||||
--- gtk/gtkmountoperation-x11.c.orig
|
||||
+++ gtk/gtkmountoperation-x11.c
|
||||
@@ -736,7 +736,7 @@ pid_get_command_line (GPid pid)
|
||||
static GPid
|
||||
pid_get_parent (GPid pid)
|
||||
{
|
||||
- struct kinfo_proc kp;
|
||||
+ struct kinfo_proc *kp;
|
||||
size_t len;
|
||||
GPid ppid;
|
||||
|
||||
@@ -747,11 +747,14 @@ pid_get_parent (GPid pid)
|
||||
return (-1);
|
||||
mib[5] = (len / sizeof(struct kinfo_proc));
|
||||
|
||||
- if (sysctl (mib, G_N_ELEMENTS (mib), &kp, &len, NULL, 0) < 0)
|
||||
+ kp = g_malloc0 (len);
|
||||
+
|
||||
+ if (sysctl (mib, G_N_ELEMENTS (mib), kp, &len, NULL, 0) < 0)
|
||||
return -1;
|
||||
|
||||
- ppid = kp.p_ppid;
|
||||
+ ppid = kp->p_ppid;
|
||||
|
||||
+ g_free (kp);
|
||||
return ppid;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user