Prevent crashes on some invalid DBus calls
This commit is contained in:
parent
edb7728055
commit
0596791a38
56
0017-Emit-error-if-requested-service-is-not-found.patch
Normal file
56
0017-Emit-error-if-requested-service-is-not-found.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
|
||||||
|
Date: Thu, 17 Nov 2022 01:51:53 +0100
|
||||||
|
Subject: [PATCH] Emit error if requested service is not found
|
||||||
|
|
||||||
|
It currently just crashes instead of replying with error. Check return
|
||||||
|
value and emit error instead of passing NULL pointer to reply.
|
||||||
|
|
||||||
|
Fixes #375
|
||||||
|
---
|
||||||
|
avahi-daemon/dbus-protocol.c | 20 ++++++++++++++------
|
||||||
|
1 file changed, 14 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c
|
||||||
|
index 70d7687..406d0b4 100644
|
||||||
|
--- a/avahi-daemon/dbus-protocol.c
|
||||||
|
+++ b/avahi-daemon/dbus-protocol.c
|
||||||
|
@@ -375,10 +375,14 @@ static DBusHandlerResult dbus_get_alternative_host_name(DBusConnection *c, DBusM
|
||||||
|
}
|
||||||
|
|
||||||
|
t = avahi_alternative_host_name(n);
|
||||||
|
- avahi_dbus_respond_string(c, m, t);
|
||||||
|
- avahi_free(t);
|
||||||
|
+ if (t) {
|
||||||
|
+ avahi_dbus_respond_string(c, m, t);
|
||||||
|
+ avahi_free(t);
|
||||||
|
|
||||||
|
- return DBUS_HANDLER_RESULT_HANDLED;
|
||||||
|
+ return DBUS_HANDLER_RESULT_HANDLED;
|
||||||
|
+ } else {
|
||||||
|
+ return avahi_dbus_respond_error(c, m, AVAHI_ERR_NOT_FOUND, "Hostname not found");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
static DBusHandlerResult dbus_get_alternative_service_name(DBusConnection *c, DBusMessage *m, DBusError *error) {
|
||||||
|
@@ -389,10 +393,14 @@ static DBusHandlerResult dbus_get_alternative_service_name(DBusConnection *c, DB
|
||||||
|
}
|
||||||
|
|
||||||
|
t = avahi_alternative_service_name(n);
|
||||||
|
- avahi_dbus_respond_string(c, m, t);
|
||||||
|
- avahi_free(t);
|
||||||
|
+ if (t) {
|
||||||
|
+ avahi_dbus_respond_string(c, m, t);
|
||||||
|
+ avahi_free(t);
|
||||||
|
|
||||||
|
- return DBUS_HANDLER_RESULT_HANDLED;
|
||||||
|
+ return DBUS_HANDLER_RESULT_HANDLED;
|
||||||
|
+ } else {
|
||||||
|
+ return avahi_dbus_respond_error(c, m, AVAHI_ERR_NOT_FOUND, "Service not found");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
static DBusHandlerResult dbus_create_new_entry_group(DBusConnection *c, DBusMessage *m, DBusError *error) {
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
Name: avahi
|
Name: avahi
|
||||||
Version: 0.8
|
Version: 0.8
|
||||||
Release: 21%{?dist}
|
Release: 22%{?dist}
|
||||||
Summary: Local network service discovery
|
Summary: Local network service discovery
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: http://avahi.org
|
URL: http://avahi.org
|
||||||
@ -155,6 +155,8 @@ Patch11: 0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch
|
|||||||
# https://github.com/lathiat/avahi/pull/324
|
# https://github.com/lathiat/avahi/pull/324
|
||||||
# https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c
|
# https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c
|
||||||
Patch16: 0016-Fix-NULL-pointer-crashes-from-175.patch
|
Patch16: 0016-Fix-NULL-pointer-crashes-from-175.patch
|
||||||
|
# https://github.com/lathiat/avahi/pull/407
|
||||||
|
Patch17: 0017-Emit-error-if-requested-service-is-not-found.patch
|
||||||
|
|
||||||
## downstream patches
|
## downstream patches
|
||||||
Patch100: avahi-0.6.30-mono-libdir.patch
|
Patch100: avahi-0.6.30-mono-libdir.patch
|
||||||
@ -864,6 +866,9 @@ exit 0
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Mar 19 2023 Petr Menšík <pemensik@redhat.com> - 0.8-22
|
||||||
|
- Prevent crashes on some invalid DBus calls
|
||||||
|
|
||||||
* Sun Mar 19 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 0.8-21
|
* Sun Mar 19 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 0.8-21
|
||||||
- Disable GTK2 in ELN/RHEL10 builds
|
- Disable GTK2 in ELN/RHEL10 builds
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user