author | Rich Burridge <rich.burridge@oracle.com> |
Mon, 05 Jan 2015 13:33:36 -0800 | |
changeset 3581 | ac4a2e93e035 |
parent 2016 | 50e1c2ae28b8 |
permissions | -rw-r--r-- |
2016
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
1 |
This patch fixes the issue, where the system_info probe crashes on solaris, |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
2 |
when the network interfaces cannot be detected. Fix provides the default |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
3 |
loop back interface as default. |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
4 |
|
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
5 |
This patch has not been contributed upstream, but is planned to be done by |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
6 |
2014-Aug-15. |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
7 |
|
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
8 |
|
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
9 |
--- openscap-1.0.0/src/OVAL/probes/independent/system_info.c.~2~ 2014-07-24 11:02:52.698291479 -0700 |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
10 |
+++ openscap-1.0.0/src/OVAL/probes/independent/system_info.c 2014-07-25 11:20:07.096049635 -0700 |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
11 |
@@ -170,6 +170,7 @@ |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
12 |
char host[NI_MAXHOST], *mac; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
13 |
SEXP_t *attrs; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
14 |
SEXP_t *r0, *r1, *r2; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
15 |
+ int item_added = 0; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
16 |
|
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
17 |
if (getifaddrs(&ifaddr) == -1) |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
18 |
return rc; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
19 |
@@ -213,8 +214,6 @@ |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
20 |
goto leave2; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
21 |
} |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
22 |
} |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
23 |
- |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
24 |
- |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
25 |
attrs = probe_attr_creat("name", |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
26 |
r0 = SEXP_string_newf("%s", ifa->ifa_name), |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
27 |
"ip_address", |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
28 |
@@ -223,10 +222,22 @@ |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
29 |
r2 = SEXP_string_newf("%s", mac), |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
30 |
NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
31 |
probe_item_ent_add(item, "interface", attrs, NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
32 |
+ item_added = 1; |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
33 |
SEXP_vfree(attrs, r0, r1, r2, NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
34 |
} |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
35 |
leave2: |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
36 |
close(fd); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
37 |
+ if (item_added == 0) { |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
38 |
+ attrs = probe_attr_creat("name", |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
39 |
+ r0 = SEXP_string_newf("dummy0"), |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
40 |
+ "ip_address", |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
41 |
+ r1 = SEXP_string_newf("127.0.0.1"), |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
42 |
+ "mac_address", |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
43 |
+ r2 = SEXP_string_newf("aa:bb:cc:dd:ee:ff"), |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
44 |
+ NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
45 |
+ probe_item_ent_add(item, "interface", attrs, NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
46 |
+ SEXP_vfree(attrs, r0, r1, r2, NULL); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
47 |
+ } |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
48 |
leave1: |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
49 |
freeifaddrs(ifaddr); |
50e1c2ae28b8
19173594 oscap crashes when compliance is run
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff
changeset
|
50 |
return rc; |