avahi: Import patches for security fixes
[feed/packages.git] / libs / avahi / patches / 200-Fix-NULL-pointer-crashes-from-175.patch
1 From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001
2 From: Tommi Rantala <tommi.t.rantala@nokia.com>
3 Date: Mon, 8 Feb 2021 11:04:43 +0200
4 Subject: [PATCH] Fix NULL pointer crashes from #175
5
6 avahi-daemon is crashing when running "ping .local".
7 The crash is due to failing assertion from NULL pointer.
8 Add missing NULL pointer checks to fix it.
9
10 Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd
11
12 [Retrieved from:
13 https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c]
14 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
15 ---
16 avahi-core/browse-dns-server.c | 5 ++++-
17 avahi-core/browse-domain.c | 5 ++++-
18 avahi-core/browse-service-type.c | 3 +++
19 avahi-core/browse-service.c | 3 +++
20 avahi-core/browse.c | 3 +++
21 avahi-core/resolve-address.c | 5 ++++-
22 avahi-core/resolve-host-name.c | 5 ++++-
23 avahi-core/resolve-service.c | 5 ++++-
24 8 files changed, 29 insertions(+), 5 deletions(-)
25
26 --- a/avahi-core/browse-dns-server.c
27 +++ b/avahi-core/browse-dns-server.c
28 @@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_serv
29 AvahiSDNSServerBrowser* b;
30
31 b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata);
32 + if (!b)
33 + return NULL;
34 +
35 avahi_s_dns_server_browser_start(b);
36
37 return b;
38 -}
39 \ No newline at end of file
40 +}
41 --- a/avahi-core/browse-domain.c
42 +++ b/avahi-core/browse-domain.c
43 @@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_brow
44 AvahiSDomainBrowser *b;
45
46 b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata);
47 + if (!b)
48 + return NULL;
49 +
50 avahi_s_domain_browser_start(b);
51
52 return b;
53 -}
54 \ No newline at end of file
55 +}
56 --- a/avahi-core/browse-service-type.c
57 +++ b/avahi-core/browse-service-type.c
58 @@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_servic
59 AvahiSServiceTypeBrowser *b;
60
61 b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata);
62 + if (!b)
63 + return NULL;
64 +
65 avahi_s_service_type_browser_start(b);
66
67 return b;
68 --- a/avahi-core/browse-service.c
69 +++ b/avahi-core/browse-service.c
70 @@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_br
71 AvahiSServiceBrowser *b;
72
73 b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata);
74 + if (!b)
75 + return NULL;
76 +
77 avahi_s_service_browser_start(b);
78
79 return b;
80 --- a/avahi-core/browse.c
81 +++ b/avahi-core/browse.c
82 @@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_brow
83 AvahiSRecordBrowser *b;
84
85 b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata);
86 + if (!b)
87 + return NULL;
88 +
89 avahi_s_record_browser_start_query(b);
90
91 return b;
92 --- a/avahi-core/resolve-address.c
93 +++ b/avahi-core/resolve-address.c
94 @@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_r
95 AvahiSAddressResolver *b;
96
97 b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata);
98 + if (!b)
99 + return NULL;
100 +
101 avahi_s_address_resolver_start(b);
102
103 return b;
104 -}
105 \ No newline at end of file
106 +}
107 --- a/avahi-core/resolve-host-name.c
108 +++ b/avahi-core/resolve-host-name.c
109 @@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_nam
110 AvahiSHostNameResolver *b;
111
112 b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata);
113 + if (!b)
114 + return NULL;
115 +
116 avahi_s_host_name_resolver_start(b);
117
118 return b;
119 -}
120 \ No newline at end of file
121 +}
122 --- a/avahi-core/resolve-service.c
123 +++ b/avahi-core/resolve-service.c
124 @@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_r
125 AvahiSServiceResolver *b;
126
127 b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata);
128 + if (!b)
129 + return NULL;
130 +
131 avahi_s_service_resolver_start(b);
132
133 return b;
134 -}
135 \ No newline at end of file
136 +}