Contents of /trunk/hal/patches/hal-0.5.10-fix-possible-segfault-if-compiled-without-IDs.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: 1757 byte(s)
Mon May 19 19:05:19 2008 UTC (16 years, 4 months ago) by niro
File size: 1757 byte(s)
-gentoo patches
1 | From b5fe05c15e7ba5321304578318db347c8fbab6fb Mon Sep 17 00:00:00 2001 |
2 | From: Danny Kukawka <danny.kukawka@web.de> |
3 | Date: Mon, 26 Nov 2007 18:56:53 +0100 |
4 | Subject: [PATCH] fix possible segfault if compiled without IDs |
5 | |
6 | Fixed possible segfault if HAL get compiled --disable-pci-ids, |
7 | --disable-usb-ids or --disable-pnp-ids. |
8 | --- |
9 | hald/ids.h | 19 ++++++++++++++++--- |
10 | 1 files changed, 16 insertions(+), 3 deletions(-) |
11 | |
12 | diff --git a/hald/ids.h b/hald/ids.h |
13 | index 7773211..a5d2cbc 100644 |
14 | --- a/hald/ids.h |
15 | +++ b/hald/ids.h |
16 | @@ -45,7 +45,13 @@ static inline void |
17 | ids_find_pci (int vendor_id, int product_id, |
18 | int subsys_vendor_id, int subsys_product_id, |
19 | char **vendor_name, char **product_name, |
20 | - char **subsys_vendor_name, char **subsys_product_name) {return;} |
21 | + char **subsys_vendor_name, char **subsys_product_name) { |
22 | + *vendor_name = NULL; |
23 | + *product_name = NULL; |
24 | + *subsys_vendor_name = NULL; |
25 | + *subsys_product_name = NULL; |
26 | + return; |
27 | +} |
28 | #endif /*USE_PCI_IDS*/ |
29 | |
30 | #ifdef USE_PNP_IDS |
31 | @@ -55,7 +61,10 @@ ids_find_pnp (const char *pnp_id, char **pnp_description); |
32 | |
33 | #else /*USE_PNP_IDS*/ |
34 | static inline void |
35 | -ids_find_pnp (const char *pnp_id, char **pnp_description) {return;} |
36 | +ids_find_pnp (const char *pnp_id, char **pnp_description) { |
37 | + *pnp_description = NULL; |
38 | + return; |
39 | +} |
40 | #endif /*USE_PNP_IDS*/ |
41 | |
42 | #ifdef USE_USB_IDS |
43 | @@ -70,7 +79,11 @@ ids_find_usb (int vendor_id, int product_id, |
44 | static inline void usb_ids_init (void) {return;} |
45 | static inline void |
46 | ids_find_usb (int vendor_id, int product_id, |
47 | - char **vendor_name, char **product_name) {return;} |
48 | + char **vendor_name, char **product_name) { |
49 | + *vendor_name = NULL; |
50 | + *product_name = NULL; |
51 | + return; |
52 | +} |
53 | #endif /*USE_USB_IDS*/ |
54 | |
55 | void ids_init (void); |
56 | -- |
57 | 1.5.3.7 |
58 |