Contents of /trunk/hal/patches/hal-0.5.10-add-udi-and-some-more-checks-to-libhal.patch
Parent Directory | Revision Log
Revision 597 -
(show annotations)
(download)
Mon May 19 19:05:19 2008 UTC (16 years, 4 months ago) by niro
File size: 21420 byte(s)
Mon May 19 19:05:19 2008 UTC (16 years, 4 months ago) by niro
File size: 21420 byte(s)
-gentoo patches
1 | From d96d1077179d6af09c2ad94b8757b5ed299b5383 Mon Sep 17 00:00:00 2001 |
2 | From: Danny Kukawka <danny.kukawka@web.de> |
3 | Date: Thu, 6 Dec 2007 10:25:07 +0100 |
4 | Subject: [PATCH] add udi and some more checks to libhal |
5 | |
6 | This adds: |
7 | - a minimal check if a given UDI is valid (checks if the UDI starts |
8 | with '/org/freedesktop/Hal/devices/'). This should prevent possible |
9 | (application) crashes if a invalid UDI is send to HAL and reduce |
10 | unneeded dbus calls. |
11 | - some more parameter checks (for LibHalChangeSet, keys ...) |
12 | --- |
13 | libhal/libhal.c | 152 ++++++++++++++++++++++++++++++++++++++---------------- |
14 | 1 files changed, 107 insertions(+), 45 deletions(-) |
15 | |
16 | diff --git a/libhal/libhal.c b/libhal/libhal.c |
17 | index 1e66bf4..3f6a9a0 100644 |
18 | --- a/libhal/libhal.c |
19 | +++ b/libhal/libhal.c |
20 | @@ -74,6 +74,30 @@ |
21 | } \ |
22 | } while(0) |
23 | |
24 | +/** |
25 | + * LIBHAL_CHECK_UDI_VALID: |
26 | + * @_udi_: the UID to check for |
27 | + * @_ret_: what to use for return value if udi is invalid |
28 | + * |
29 | + * Handy macro for checking whether a UID is valid and not NULL. |
30 | + */ |
31 | +#define LIBHAL_CHECK_UDI_VALID(_udi_,_ret_) \ |
32 | + do { \ |
33 | + if (_udi_ == NULL) { \ |
34 | + fprintf (stderr, \ |
35 | + "%s %d : invalid udi %s. udi is NULL.\n", \ |
36 | + __FILE__, __LINE__, _udi_); \ |
37 | + return _ret_; \ |
38 | + } else { \ |
39 | + if(strncmp(_udi_, "/org/freedesktop/Hal/devices/", 29) != 0) { \ |
40 | + fprintf (stderr, \ |
41 | + "%s %d : invalid udi: %s doesn't start" \ |
42 | + "with '/org/freedesktop/Hal/devices/'. \n", \ |
43 | + __FILE__, __LINE__, _udi_); \ |
44 | + return _ret_; \ |
45 | + } \ |
46 | + } \ |
47 | + } while(0) |
48 | |
49 | static char **libhal_get_string_array_from_iter (DBusMessageIter *iter, int *num_elements); |
50 | |
51 | @@ -319,6 +343,10 @@ static dbus_bool_t |
52 | libhal_property_fill_value_from_variant (LibHalProperty *p, DBusMessageIter *var_iter) |
53 | { |
54 | DBusMessageIter iter_array; |
55 | + |
56 | + LIBHAL_CHECK_PARAM_VALID(p, "LibHalProperty *p", FALSE); |
57 | + LIBHAL_CHECK_PARAM_VALID(var_iter, "DBusMessageIter *var_iter", FALSE); |
58 | + |
59 | switch (p->type) { |
60 | case DBUS_TYPE_ARRAY: |
61 | if (dbus_message_iter_get_element_type (var_iter) != DBUS_TYPE_STRING) |
62 | @@ -496,7 +524,7 @@ libhal_device_get_all_properties (LibHalContext *ctx, const char *udi, DBusError |
63 | DBusError _error; |
64 | |
65 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, NULL); |
66 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", NULL); |
67 | + LIBHAL_CHECK_UDI_VALID(udi, NULL); |
68 | |
69 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
70 | "org.freedesktop.Hal.Device", |
71 | @@ -1282,7 +1310,7 @@ libhal_device_get_property_type (LibHalContext *ctx, const char *udi, const char |
72 | DBusError _error; |
73 | |
74 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, LIBHAL_PROPERTY_TYPE_INVALID); /* or return NULL? */ |
75 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", LIBHAL_PROPERTY_TYPE_INVALID); |
76 | + LIBHAL_CHECK_UDI_VALID(udi, LIBHAL_PROPERTY_TYPE_INVALID); |
77 | LIBHAL_CHECK_PARAM_VALID(key, "*key", LIBHAL_PROPERTY_TYPE_INVALID); |
78 | |
79 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
80 | @@ -1344,7 +1372,7 @@ libhal_device_get_property_strlist (LibHalContext *ctx, const char *udi, const c |
81 | DBusError _error; |
82 | |
83 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, NULL); |
84 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", NULL); |
85 | + LIBHAL_CHECK_UDI_VALID(udi, NULL); |
86 | LIBHAL_CHECK_PARAM_VALID(key, "*key", NULL); |
87 | |
88 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
89 | @@ -1417,7 +1445,7 @@ libhal_device_get_property_string (LibHalContext *ctx, |
90 | DBusError _error; |
91 | |
92 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, NULL); |
93 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", NULL); |
94 | + LIBHAL_CHECK_UDI_VALID(udi, NULL); |
95 | LIBHAL_CHECK_PARAM_VALID(key, "*key", NULL); |
96 | |
97 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
98 | @@ -1495,7 +1523,7 @@ libhal_device_get_property_int (LibHalContext *ctx, |
99 | DBusError _error; |
100 | |
101 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, -1); |
102 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", -1); |
103 | + LIBHAL_CHECK_UDI_VALID(udi, -1); |
104 | LIBHAL_CHECK_PARAM_VALID(key, "*key", -1); |
105 | |
106 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
107 | @@ -1568,7 +1596,7 @@ libhal_device_get_property_uint64 (LibHalContext *ctx, |
108 | DBusError _error; |
109 | |
110 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, -1); |
111 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", -1); |
112 | + LIBHAL_CHECK_UDI_VALID(udi, -1); |
113 | LIBHAL_CHECK_PARAM_VALID(key, "*key", -1); |
114 | |
115 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
116 | @@ -1640,7 +1668,7 @@ libhal_device_get_property_double (LibHalContext *ctx, |
117 | DBusError _error; |
118 | |
119 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, -1.0); |
120 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", -1.0); |
121 | + LIBHAL_CHECK_UDI_VALID(udi, -1.0); |
122 | LIBHAL_CHECK_PARAM_VALID(key, "*key", -1.0); |
123 | |
124 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
125 | @@ -1712,7 +1740,7 @@ libhal_device_get_property_bool (LibHalContext *ctx, |
126 | DBusError _error; |
127 | |
128 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
129 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
130 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
131 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
132 | |
133 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
134 | @@ -1782,7 +1810,7 @@ libhal_device_set_property_helper (LibHalContext *ctx, |
135 | char *method_name = NULL; |
136 | |
137 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
138 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
139 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
140 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
141 | |
142 | /** @todo sanity check incoming params */ |
143 | @@ -1880,8 +1908,9 @@ libhal_device_set_property_string (LibHalContext *ctx, |
144 | DBusError *error) |
145 | { |
146 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
147 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
148 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
149 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
150 | + LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); |
151 | |
152 | return libhal_device_set_property_helper (ctx, udi, key, |
153 | DBUS_TYPE_STRING, |
154 | @@ -1906,7 +1935,7 @@ libhal_device_set_property_int (LibHalContext *ctx, const char *udi, |
155 | const char *key, dbus_int32_t value, DBusError *error) |
156 | { |
157 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
158 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
159 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
160 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
161 | |
162 | return libhal_device_set_property_helper (ctx, udi, key, |
163 | @@ -1932,7 +1961,7 @@ libhal_device_set_property_uint64 (LibHalContext *ctx, const char *udi, |
164 | const char *key, dbus_uint64_t value, DBusError *error) |
165 | { |
166 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
167 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
168 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
169 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
170 | |
171 | return libhal_device_set_property_helper (ctx, udi, key, |
172 | @@ -1958,7 +1987,7 @@ libhal_device_set_property_double (LibHalContext *ctx, const char *udi, |
173 | const char *key, double value, DBusError *error) |
174 | { |
175 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
176 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
177 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
178 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
179 | |
180 | return libhal_device_set_property_helper (ctx, udi, key, |
181 | @@ -1984,7 +2013,7 @@ libhal_device_set_property_bool (LibHalContext *ctx, const char *udi, |
182 | const char *key, dbus_bool_t value, DBusError *error) |
183 | { |
184 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
185 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
186 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
187 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
188 | |
189 | return libhal_device_set_property_helper (ctx, udi, key, |
190 | @@ -2010,7 +2039,7 @@ libhal_device_remove_property (LibHalContext *ctx, |
191 | const char *udi, const char *key, DBusError *error) |
192 | { |
193 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
194 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
195 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
196 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
197 | |
198 | return libhal_device_set_property_helper (ctx, udi, key, DBUS_TYPE_INVALID, |
199 | @@ -2043,8 +2072,9 @@ libhal_device_property_strlist_append (LibHalContext *ctx, |
200 | DBusMessageIter iter; |
201 | |
202 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
203 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
204 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
205 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
206 | + LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); |
207 | |
208 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
209 | "org.freedesktop.Hal.Device", |
210 | @@ -2098,8 +2128,9 @@ libhal_device_property_strlist_prepend (LibHalContext *ctx, |
211 | DBusMessageIter iter; |
212 | |
213 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
214 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
215 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
216 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
217 | + LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); |
218 | |
219 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
220 | "org.freedesktop.Hal.Device", |
221 | @@ -2153,7 +2184,7 @@ libhal_device_property_strlist_remove_index (LibHalContext *ctx, |
222 | DBusMessageIter iter; |
223 | |
224 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
225 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
226 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
227 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
228 | |
229 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
230 | @@ -2207,8 +2238,9 @@ libhal_device_property_strlist_remove (LibHalContext *ctx, |
231 | DBusMessageIter iter; |
232 | |
233 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
234 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
235 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
236 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
237 | + LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); |
238 | |
239 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
240 | "org.freedesktop.Hal.Device", |
241 | @@ -2261,7 +2293,7 @@ libhal_device_lock (LibHalContext *ctx, |
242 | DBusMessage *reply; |
243 | |
244 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
245 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
246 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
247 | |
248 | if (reason_why_locked != NULL) |
249 | *reason_why_locked = NULL; |
250 | @@ -2331,7 +2363,7 @@ libhal_device_unlock (LibHalContext *ctx, |
251 | DBusMessage *reply; |
252 | |
253 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
254 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
255 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
256 | |
257 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
258 | udi, |
259 | @@ -2468,8 +2500,8 @@ libhal_device_commit_to_gdl (LibHalContext *ctx, |
260 | DBusMessageIter iter; |
261 | |
262 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
263 | - LIBHAL_CHECK_PARAM_VALID(temp_udi, "*temp_udi", FALSE); |
264 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
265 | + LIBHAL_CHECK_UDI_VALID(temp_udi, FALSE); |
266 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
267 | |
268 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
269 | "/org/freedesktop/Hal/Manager", |
270 | @@ -2527,7 +2559,7 @@ libhal_remove_device (LibHalContext *ctx, const char *udi, DBusError *error) |
271 | DBusMessageIter iter; |
272 | |
273 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
274 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
275 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
276 | |
277 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
278 | "/org/freedesktop/Hal/Manager", |
279 | @@ -2581,7 +2613,7 @@ libhal_device_exists (LibHalContext *ctx, const char *udi, DBusError *error) |
280 | DBusError _error; |
281 | |
282 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
283 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
284 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
285 | |
286 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
287 | "/org/freedesktop/Hal/Manager", |
288 | @@ -2653,7 +2685,7 @@ libhal_device_property_exists (LibHalContext *ctx, |
289 | DBusError _error; |
290 | |
291 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
292 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
293 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
294 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
295 | |
296 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
297 | @@ -2722,8 +2754,8 @@ libhal_merge_properties (LibHalContext *ctx, |
298 | DBusMessageIter iter; |
299 | |
300 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
301 | - LIBHAL_CHECK_PARAM_VALID(target_udi, "*target_udi", FALSE); |
302 | - LIBHAL_CHECK_PARAM_VALID(source_udi, "*sourcE_udi", FALSE); |
303 | + LIBHAL_CHECK_UDI_VALID(target_udi, FALSE); |
304 | + LIBHAL_CHECK_UDI_VALID(source_udi, FALSE); |
305 | |
306 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
307 | "/org/freedesktop/Hal/Manager", |
308 | @@ -2791,8 +2823,8 @@ libhal_device_matches (LibHalContext *ctx, |
309 | DBusError _error; |
310 | |
311 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
312 | - LIBHAL_CHECK_PARAM_VALID(udi1, "*udi1", FALSE); |
313 | - LIBHAL_CHECK_PARAM_VALID(udi2, "*udi2", FALSE); |
314 | + LIBHAL_CHECK_UDI_VALID(udi1, FALSE); |
315 | + LIBHAL_CHECK_UDI_VALID(udi2, FALSE); |
316 | LIBHAL_CHECK_PARAM_VALID(property_namespace, "*property_namespace", FALSE); |
317 | |
318 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
319 | @@ -2863,7 +2895,7 @@ libhal_device_print (LibHalContext *ctx, const char *udi, DBusError *error) |
320 | LibHalPropertySetIterator i; |
321 | |
322 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
323 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
324 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
325 | |
326 | printf ("device_id = %s\n", udi); |
327 | |
328 | @@ -2952,6 +2984,7 @@ libhal_manager_find_device_string_match (LibHalContext *ctx, |
329 | |
330 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, NULL); |
331 | LIBHAL_CHECK_PARAM_VALID(key, "*key", NULL); |
332 | + LIBHAL_CHECK_PARAM_VALID(value, "*value", NULL); |
333 | |
334 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
335 | "/org/freedesktop/Hal/Manager", |
336 | @@ -3021,7 +3054,7 @@ libhal_device_add_capability (LibHalContext *ctx, |
337 | DBusMessageIter iter; |
338 | |
339 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
340 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
341 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
342 | LIBHAL_CHECK_PARAM_VALID(capability, "*capability", FALSE); |
343 | |
344 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
345 | @@ -3076,7 +3109,7 @@ libhal_device_query_capability (LibHalContext *ctx, const char *udi, const char |
346 | dbus_bool_t ret; |
347 | |
348 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
349 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
350 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
351 | LIBHAL_CHECK_PARAM_VALID(capability, "*capability", FALSE); |
352 | |
353 | ret = FALSE; |
354 | @@ -3211,7 +3244,7 @@ libhal_device_add_property_watch (LibHalContext *ctx, const char *udi, DBusError |
355 | char buf[512]; |
356 | |
357 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
358 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
359 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
360 | |
361 | snprintf (buf, 512, |
362 | "type='signal'," |
363 | @@ -3242,7 +3275,7 @@ libhal_device_remove_property_watch (LibHalContext *ctx, const char *udi, DBusEr |
364 | char buf[512]; |
365 | |
366 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
367 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
368 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
369 | |
370 | snprintf (buf, 512, |
371 | "type='signal'," |
372 | @@ -3685,7 +3718,7 @@ libhal_device_rescan (LibHalContext *ctx, const char *udi, DBusError *error) |
373 | dbus_bool_t result; |
374 | |
375 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
376 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
377 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
378 | |
379 | message = dbus_message_new_method_call ("org.freedesktop.Hal", udi, |
380 | "org.freedesktop.Hal.Device", |
381 | @@ -3745,7 +3778,7 @@ libhal_device_reprobe (LibHalContext *ctx, const char *udi, DBusError *error) |
382 | dbus_bool_t result; |
383 | |
384 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
385 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
386 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
387 | |
388 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
389 | udi, |
390 | @@ -3813,8 +3846,9 @@ dbus_bool_t libhal_device_emit_condition (LibHalContext *ctx, |
391 | dbus_bool_t result; |
392 | |
393 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
394 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
395 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
396 | LIBHAL_CHECK_PARAM_VALID(condition_name, "*condition_name", FALSE); |
397 | + LIBHAL_CHECK_PARAM_VALID(condition_details, "*condition_details", FALSE); |
398 | |
399 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
400 | udi, |
401 | @@ -3879,6 +3913,7 @@ addon_is_ready(LibHalContext *ctx, const char *identifier, |
402 | DBusMessage *reply; |
403 | |
404 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
405 | + LIBHAL_CHECK_PARAM_VALID(identifier, "*identifier", FALSE); |
406 | |
407 | if (singleton) { |
408 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
409 | @@ -3940,6 +3975,10 @@ libhal_device_addon_is_ready (LibHalContext *ctx, |
410 | const char *udi, |
411 | DBusError *error) |
412 | { |
413 | + |
414 | + LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
415 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
416 | + |
417 | return addon_is_ready (ctx, udi, FALSE, error); |
418 | } |
419 | |
420 | @@ -3961,6 +4000,9 @@ libhal_device_singleton_addon_is_ready (LibHalContext *ctx, |
421 | const char *command_line, |
422 | DBusError *error) |
423 | { |
424 | + LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
425 | + LIBHAL_CHECK_PARAM_VALID(command_line, "*command_line", FALSE); |
426 | + |
427 | return addon_is_ready (ctx, command_line, TRUE, error); |
428 | } |
429 | |
430 | @@ -3993,7 +4035,7 @@ libhal_device_claim_interface (LibHalContext *ctx, |
431 | dbus_bool_t result; |
432 | |
433 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
434 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
435 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
436 | LIBHAL_CHECK_PARAM_VALID(interface_name, "*interface_name", FALSE); |
437 | |
438 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
439 | @@ -4081,7 +4123,7 @@ libhal_device_new_changeset (const char *udi) |
440 | { |
441 | LibHalChangeSet *changeset; |
442 | |
443 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", NULL); |
444 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
445 | |
446 | changeset = calloc (1, sizeof (LibHalChangeSet)); |
447 | if (changeset == NULL) |
448 | @@ -4104,6 +4146,9 @@ out: |
449 | static void |
450 | libhal_changeset_append (LibHalChangeSet *changeset, LibHalChangeSetElement *elem) |
451 | { |
452 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", (void) NULL ); |
453 | + LIBHAL_CHECK_PARAM_VALID(elem, "*elem", (void) NULL); |
454 | + |
455 | if (changeset->head == NULL) { |
456 | changeset->head = elem; |
457 | changeset->tail = elem; |
458 | @@ -4133,6 +4178,7 @@ libhal_changeset_set_property_string (LibHalChangeSet *changeset, const char *ke |
459 | { |
460 | LibHalChangeSetElement *elem; |
461 | |
462 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
463 | LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
464 | LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); |
465 | |
466 | @@ -4175,6 +4221,9 @@ libhal_changeset_set_property_int (LibHalChangeSet *changeset, const char *key, |
467 | { |
468 | LibHalChangeSetElement *elem; |
469 | |
470 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
471 | + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
472 | + |
473 | elem = calloc (1, sizeof (LibHalChangeSetElement)); |
474 | if (elem == NULL) |
475 | goto out; |
476 | @@ -4208,6 +4257,9 @@ libhal_changeset_set_property_uint64 (LibHalChangeSet *changeset, const char *ke |
477 | { |
478 | LibHalChangeSetElement *elem; |
479 | |
480 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
481 | + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
482 | + |
483 | elem = calloc (1, sizeof (LibHalChangeSetElement)); |
484 | if (elem == NULL) |
485 | goto out; |
486 | @@ -4241,6 +4293,9 @@ libhal_changeset_set_property_double (LibHalChangeSet *changeset, const char *ke |
487 | { |
488 | LibHalChangeSetElement *elem; |
489 | |
490 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
491 | + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
492 | + |
493 | elem = calloc (1, sizeof (LibHalChangeSetElement)); |
494 | if (elem == NULL) |
495 | goto out; |
496 | @@ -4274,6 +4329,9 @@ libhal_changeset_set_property_bool (LibHalChangeSet *changeset, const char *key, |
497 | { |
498 | LibHalChangeSetElement *elem; |
499 | |
500 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
501 | + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
502 | + |
503 | elem = calloc (1, sizeof (LibHalChangeSetElement)); |
504 | if (elem == NULL) |
505 | goto out; |
506 | @@ -4310,6 +4368,9 @@ libhal_changeset_set_property_strlist (LibHalChangeSet *changeset, const char *k |
507 | int len; |
508 | int i, j; |
509 | |
510 | + LIBHAL_CHECK_PARAM_VALID(changeset, "*changeset", FALSE); |
511 | + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); |
512 | + |
513 | elem = calloc (1, sizeof (LibHalChangeSetElement)); |
514 | if (elem == NULL) |
515 | goto out; |
516 | @@ -4380,6 +4441,7 @@ libhal_device_commit_changeset (LibHalContext *ctx, LibHalChangeSet *changeset, |
517 | int i; |
518 | |
519 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
520 | + LIBHAL_CHECK_UDI_VALID(changeset->udi, FALSE); |
521 | |
522 | if (changeset->head == NULL) { |
523 | return TRUE; |
524 | @@ -4547,7 +4609,7 @@ libhal_device_acquire_interface_lock (LibHalContext *ctx, |
525 | DBusMessage *reply; |
526 | |
527 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
528 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
529 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
530 | LIBHAL_CHECK_PARAM_VALID(interface, "*interface", FALSE); |
531 | |
532 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
533 | @@ -4605,7 +4667,7 @@ dbus_bool_t libhal_device_release_interface_lock (LibHalContext *ctx, |
534 | DBusMessage *reply; |
535 | |
536 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); |
537 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", FALSE); |
538 | + LIBHAL_CHECK_UDI_VALID(udi, FALSE); |
539 | LIBHAL_CHECK_PARAM_VALID(interface, "*interface", FALSE); |
540 | |
541 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
542 | @@ -4780,7 +4842,7 @@ libhal_device_is_caller_locked_out (LibHalContext *ctx, |
543 | dbus_bool_t value; |
544 | |
545 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, TRUE); |
546 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", TRUE); |
547 | + LIBHAL_CHECK_UDI_VALID(udi, TRUE); |
548 | LIBHAL_CHECK_PARAM_VALID(interface, "*interface", TRUE); |
549 | LIBHAL_CHECK_PARAM_VALID(caller, "*caller", TRUE); |
550 | |
551 | @@ -4922,7 +4984,7 @@ libhal_device_is_locked_by_others (LibHalContext *ctx, |
552 | dbus_bool_t value; |
553 | |
554 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, TRUE); |
555 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", TRUE); |
556 | + LIBHAL_CHECK_UDI_VALID(udi, TRUE); |
557 | LIBHAL_CHECK_PARAM_VALID(interface, "*interface", TRUE); |
558 | |
559 | message = dbus_message_new_method_call ("org.freedesktop.Hal", |
560 | @@ -4998,7 +5060,7 @@ libhal_device_is_caller_privileged (LibHalContext *ctx, |
561 | char *value; |
562 | |
563 | LIBHAL_CHECK_LIBHALCONTEXT(ctx, NULL); |
564 | - LIBHAL_CHECK_PARAM_VALID(udi, "*udi", NULL); |
565 | + LIBHAL_CHECK_UDI_VALID(udi, NULL); |
566 | LIBHAL_CHECK_PARAM_VALID(action, "*action", NULL); |
567 | LIBHAL_CHECK_PARAM_VALID(caller, "*caller", NULL); |
568 | |
569 | -- |
570 | 1.5.3.7 |
571 |