]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/blame - multipath-tools/patches/0052-RH-fix-bad-derefs.patch
multipath-tools: Update to snapshot from 2013-02-22
[people/pmueller/ipfire-3.x.git] / multipath-tools / patches / 0052-RH-fix-bad-derefs.patch
CommitLineData
289c5516
MT
1---
2 multipathd/cli_handlers.c | 3 ++-
3 multipathd/main.c | 12 ++++++------
4 2 files changed, 8 insertions(+), 7 deletions(-)
5
6Index: multipath-tools-130222/multipathd/cli_handlers.c
7===================================================================
8--- multipath-tools-130222.orig/multipathd/cli_handlers.c
9+++ multipath-tools-130222/multipathd/cli_handlers.c
10@@ -632,7 +632,8 @@ cli_resize(void *v, char **reply, int *l
11 return 1;
12
13 dm_lib_release();
14- setup_multipath(vecs, mpp);
15+ if (setup_multipath(vecs, mpp) != 0)
16+ return 1;
17 sync_map_state(mpp);
18
19 return 0;
20Index: multipath-tools-130222/multipathd/main.c
21===================================================================
22--- multipath-tools-130222.orig/multipathd/main.c
23+++ multipath-tools-130222/multipathd/main.c
24@@ -134,7 +134,6 @@ coalesce_maps(struct vectors *vecs, vect
25 struct multipath * ompp;
26 vector ompv = vecs->mpvec;
27 unsigned int i;
28- int j;
29
30 vector_foreach_slot (ompv, ompp, i) {
31 if (!find_mp_by_wwid(nmpv, ompp->wwid)) {
32@@ -148,16 +147,17 @@ coalesce_maps(struct vectors *vecs, vect
33 /*
34 * may be just because the device is open
35 */
36+ if (setup_multipath(vecs, ompp) != 0) {
37+ i--;
38+ continue;
39+ }
40 if (!vector_alloc_slot(nmpv))
41 return 1;
42
43 vector_set_slot(nmpv, ompp);
44- setup_multipath(vecs, ompp);
45
46- if ((j = find_slot(ompv, (void *)ompp)) != -1)
47- vector_del_slot(ompv, j);
48-
49- continue;
50+ vector_del_slot(ompv, i);
51+ i--;
52 }
53 else {
54 dm_lib_release();