Magellan Linux

Contents of /trunk/hal/patches/hal-0.5.10-add-udi-and-some-more-checks-to-libhal.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 597 - (show annotations) (download)
Mon May 19 19:05:19 2008 UTC (15 years, 11 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