From: Andre Noll <maan@systemlinux.org>
Date: Sun, 18 Nov 2007 19:47:59 +0000 (+0100)
Subject: Fix osl_del_row().
X-Git-Tag: v0.3.0~113^2~5
X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=f3a22620ec1091b6a56152eacd9fcf5560b7bf1d;p=paraslash.git

Fix osl_del_row().

Only free volatile columns of the deleted row if OSL_DONT_FREE
is not set.
---

diff --git a/osl.c b/osl.c
index 7b4f91f5..5c806419 100644
--- a/osl.c
+++ b/osl.c
@@ -1575,7 +1575,7 @@ int osl_del_row(struct osl_table *t, struct osl_row *row)
 			mark_mapped_object_invalid(t, r->num, i);
 			continue;
 		}
-		if (st == OSL_NO_STORAGE)
+		if (st == OSL_NO_STORAGE && !(cd->storage_flags & OSL_DONT_FREE))
 			free(r->volatile_objects[col->volatile_num].data);
 	}
 	if (t->num_mapped_columns) {