xref: /OK3568_Linux_fs/buildroot/package/avahi/0001-Fix-NULL-pointer-crashes-from-175.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Tommi Rantala <tommi.t.rantala@nokia.com>
3*4882a593SmuzhiyunDate: Mon, 8 Feb 2021 11:04:43 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Fix NULL pointer crashes from #175
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunavahi-daemon is crashing when running "ping .local".
7*4882a593SmuzhiyunThe crash is due to failing assertion from NULL pointer.
8*4882a593SmuzhiyunAdd missing NULL pointer checks to fix it.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunIntroduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun[Retrieved from:
13*4882a593Smuzhiyunhttps://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c]
14*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
15*4882a593Smuzhiyun---
16*4882a593Smuzhiyun avahi-core/browse-dns-server.c   | 5 ++++-
17*4882a593Smuzhiyun avahi-core/browse-domain.c       | 5 ++++-
18*4882a593Smuzhiyun avahi-core/browse-service-type.c | 3 +++
19*4882a593Smuzhiyun avahi-core/browse-service.c      | 3 +++
20*4882a593Smuzhiyun avahi-core/browse.c              | 3 +++
21*4882a593Smuzhiyun avahi-core/resolve-address.c     | 5 ++++-
22*4882a593Smuzhiyun avahi-core/resolve-host-name.c   | 5 ++++-
23*4882a593Smuzhiyun avahi-core/resolve-service.c     | 5 ++++-
24*4882a593Smuzhiyun 8 files changed, 29 insertions(+), 5 deletions(-)
25*4882a593Smuzhiyun
26*4882a593Smuzhiyundiff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c
27*4882a593Smuzhiyunindex 049752e9..c2d914fa 100644
28*4882a593Smuzhiyun--- a/avahi-core/browse-dns-server.c
29*4882a593Smuzhiyun+++ b/avahi-core/browse-dns-server.c
30*4882a593Smuzhiyun@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new(
31*4882a593Smuzhiyun         AvahiSDNSServerBrowser* b;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun         b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata);
34*4882a593Smuzhiyun+        if (!b)
35*4882a593Smuzhiyun+            return NULL;
36*4882a593Smuzhiyun+
37*4882a593Smuzhiyun         avahi_s_dns_server_browser_start(b);
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun         return b;
40*4882a593Smuzhiyun-}
41*4882a593Smuzhiyun\ No newline at end of file
42*4882a593Smuzhiyun+}
43*4882a593Smuzhiyundiff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c
44*4882a593Smuzhiyunindex f145d56a..06fa70c0 100644
45*4882a593Smuzhiyun--- a/avahi-core/browse-domain.c
46*4882a593Smuzhiyun+++ b/avahi-core/browse-domain.c
47*4882a593Smuzhiyun@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new(
48*4882a593Smuzhiyun         AvahiSDomainBrowser *b;
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun         b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata);
51*4882a593Smuzhiyun+        if (!b)
52*4882a593Smuzhiyun+            return NULL;
53*4882a593Smuzhiyun+
54*4882a593Smuzhiyun         avahi_s_domain_browser_start(b);
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun         return b;
57*4882a593Smuzhiyun-}
58*4882a593Smuzhiyun\ No newline at end of file
59*4882a593Smuzhiyun+}
60*4882a593Smuzhiyundiff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c
61*4882a593Smuzhiyunindex fdd22dcd..b1fc7af8 100644
62*4882a593Smuzhiyun--- a/avahi-core/browse-service-type.c
63*4882a593Smuzhiyun+++ b/avahi-core/browse-service-type.c
64*4882a593Smuzhiyun@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new(
65*4882a593Smuzhiyun         AvahiSServiceTypeBrowser *b;
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun         b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata);
68*4882a593Smuzhiyun+        if (!b)
69*4882a593Smuzhiyun+            return NULL;
70*4882a593Smuzhiyun+
71*4882a593Smuzhiyun         avahi_s_service_type_browser_start(b);
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun         return b;
74*4882a593Smuzhiyundiff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c
75*4882a593Smuzhiyunindex 5531360c..63e0275a 100644
76*4882a593Smuzhiyun--- a/avahi-core/browse-service.c
77*4882a593Smuzhiyun+++ b/avahi-core/browse-service.c
78*4882a593Smuzhiyun@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new(
79*4882a593Smuzhiyun         AvahiSServiceBrowser *b;
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun         b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata);
82*4882a593Smuzhiyun+        if (!b)
83*4882a593Smuzhiyun+            return NULL;
84*4882a593Smuzhiyun+
85*4882a593Smuzhiyun         avahi_s_service_browser_start(b);
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun         return b;
88*4882a593Smuzhiyundiff --git a/avahi-core/browse.c b/avahi-core/browse.c
89*4882a593Smuzhiyunindex 2941e579..e8a915e9 100644
90*4882a593Smuzhiyun--- a/avahi-core/browse.c
91*4882a593Smuzhiyun+++ b/avahi-core/browse.c
92*4882a593Smuzhiyun@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new(
93*4882a593Smuzhiyun         AvahiSRecordBrowser *b;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun         b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata);
96*4882a593Smuzhiyun+        if (!b)
97*4882a593Smuzhiyun+            return NULL;
98*4882a593Smuzhiyun+
99*4882a593Smuzhiyun         avahi_s_record_browser_start_query(b);
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun         return b;
102*4882a593Smuzhiyundiff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c
103*4882a593Smuzhiyunindex ac0b29b1..e61dd242 100644
104*4882a593Smuzhiyun--- a/avahi-core/resolve-address.c
105*4882a593Smuzhiyun+++ b/avahi-core/resolve-address.c
106*4882a593Smuzhiyun@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new(
107*4882a593Smuzhiyun         AvahiSAddressResolver *b;
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun         b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata);
110*4882a593Smuzhiyun+        if (!b)
111*4882a593Smuzhiyun+            return NULL;
112*4882a593Smuzhiyun+
113*4882a593Smuzhiyun         avahi_s_address_resolver_start(b);
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun         return b;
116*4882a593Smuzhiyun-}
117*4882a593Smuzhiyun\ No newline at end of file
118*4882a593Smuzhiyun+}
119*4882a593Smuzhiyundiff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c
120*4882a593Smuzhiyunindex 808b0e72..4e8e5973 100644
121*4882a593Smuzhiyun--- a/avahi-core/resolve-host-name.c
122*4882a593Smuzhiyun+++ b/avahi-core/resolve-host-name.c
123*4882a593Smuzhiyun@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new(
124*4882a593Smuzhiyun         AvahiSHostNameResolver *b;
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun         b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata);
127*4882a593Smuzhiyun+        if (!b)
128*4882a593Smuzhiyun+            return NULL;
129*4882a593Smuzhiyun+
130*4882a593Smuzhiyun         avahi_s_host_name_resolver_start(b);
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun         return b;
133*4882a593Smuzhiyun-}
134*4882a593Smuzhiyun\ No newline at end of file
135*4882a593Smuzhiyun+}
136*4882a593Smuzhiyundiff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
137*4882a593Smuzhiyunindex 66bf3cae..43771763 100644
138*4882a593Smuzhiyun--- a/avahi-core/resolve-service.c
139*4882a593Smuzhiyun+++ b/avahi-core/resolve-service.c
140*4882a593Smuzhiyun@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new(
141*4882a593Smuzhiyun         AvahiSServiceResolver *b;
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun         b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata);
144*4882a593Smuzhiyun+        if (!b)
145*4882a593Smuzhiyun+            return NULL;
146*4882a593Smuzhiyun+
147*4882a593Smuzhiyun         avahi_s_service_resolver_start(b);
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun         return b;
150*4882a593Smuzhiyun-}
151*4882a593Smuzhiyun\ No newline at end of file
152*4882a593Smuzhiyun+}
153