prs_mem_free() is not the function to be called to free memory allocated by
prs_alloc_mem(). I've added a comment so others may not get bitten too.
- Remove incorrect memory free calls added yesterday to replace SAFE_FREE.
The memory is actually now on a talloc context, so gets freed by the caller
when that context is freed. We don't need to free it iternally.
Derrell
switch (mode) {
case SMBC_XATTR_MODE_REMOVE_ALL:
old->dacl->num_aces = 0;
- prs_mem_free(old->dacl->aces);
- prs_mem_free(&old->dacl);
old->dacl = NULL;
dacl = old->dacl;
break;
}
old->dacl->num_aces--;
if (old->dacl->num_aces == 0) {
- prs_mem_free(&old->dacl->aces);
- prs_mem_free(&old->dacl);
old->dacl = NULL;
}
found = True;
/*******************************************************************
Delete the memory in a parse structure - if we own it.
+
+ NOTE: Contrary to the somewhat confusing naming, this function is not
+ intended for freeing memory allocated by prs_alloc_mem(). That memory
+ is attached to the talloc context given by ps->mem_ctx.
********************************************************************/
void prs_mem_free(prs_struct *ps)