1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00

r509: fixed a memory handling bug that affects ldb with memory pools that

change with each request
This commit is contained in:
Andrew Tridgell 2004-05-06 07:30:51 +00:00 committed by Gerald (Jerry) Carter
parent 22aa425c96
commit 18695cefa1

View File

@ -226,6 +226,7 @@ int ltdb_attribute_flags(struct ldb_context *ldb, const char *attr_name)
};
size_t len;
int i, ret=0;
struct ldb_alloc_ops alloc = ldb->alloc_ops;
if (ltdb->cache.last_attribute.name &&
ldb_attr_cmp(ltdb->cache.last_attribute.name, attr_name) == 0) {
@ -257,10 +258,14 @@ int ltdb_attribute_flags(struct ldb_context *ldb, const char *attr_name)
attrs += strspn(attrs, " ,");
}
if (ltdb->cache.last_attribute.name) ldb_free(ldb, ltdb->cache.last_attribute.name);
ldb->alloc_ops.alloc = NULL;
ldb_free(ldb, ltdb->cache.last_attribute.name);
ltdb->cache.last_attribute.name = ldb_strdup(ldb, attr_name);
ltdb->cache.last_attribute.flags = ret;
ldb->alloc_ops = alloc;
return ret;
}