summaryrefslogtreecommitdiffstats
path: root/trunk/src/prelink.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/prelink.c')
-rw-r--r--trunk/src/prelink.c60
1 files changed, 32 insertions, 28 deletions
diff --git a/trunk/src/prelink.c b/trunk/src/prelink.c
index 9b1998c..0d113b7 100644
--- a/trunk/src/prelink.c
+++ b/trunk/src/prelink.c
@@ -813,35 +813,39 @@ free_info (struct prelink_info *info)
if (info->conflicts)
{
for (i = 0; i < info->ent->ndepends + 1; ++i)
- if (info->conflicts[i].hash == &info->conflicts[i].first)
- {
- struct prelink_conflict *c = info->conflicts[i].first;
- void *f;
-
- while (c != NULL)
- {
- f = c;
- c = c->next;
- free (f);
- }
- }
- else
- {
- int j;
- for (j = 0; j < 251; j++)
- {
- struct prelink_conflict *c = info->conflicts[i].hash[j];
- void *f;
+ {
+ if (info->conflicts[i].hash == &info->conflicts[i].first)
+ {
+ struct prelink_conflict *c = info->conflicts[i].first;
+ void *f;
- while (c != NULL)
- {
- f = c;
- c = c->next;
- free (f);
- }
- }
- free (info->conflicts[i].hash);
- }
+ while (c != NULL)
+ {
+ f = c;
+ c = c->next;
+ free (f);
+ }
+ }
+ else
+ {
+ int j;
+ for (j = 0; j < 251; j++)
+ {
+ struct prelink_conflict *c = info->conflicts[i].hash[j];
+ void *f;
+
+ while (c != NULL)
+ {
+ f = c;
+ c = c->next;
+ free (f);
+ }
+ }
+ free (info->conflicts[i].hash);
+ }
+ if (info->conflicts[i].hash2 != NULL)
+ free (info->conflicts[i].hash2);
+ }
free (info->conflicts);
}
if (info->sonames)