1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-06 13:18:07 +03:00
samba-mirror/source3/include/talloc.h
Gerald Carter 95496b974a reworked talloc() to in order to help track down invalid
memory access.

Tridge, I don't think using 0xdeadbeef for size allocations
of 0 is going to work.  I ended up having to use NULL
as much code that works on UNISTR checks to see if the buffer ptr
is NULL.  So valid code ends up with a seg fault.

Rather than rewriting it all, I added a DEBUG_TALLOC
#ifdef in talloc.h that sets a macro BAD_PTR.
This is the value assigned to ptr for an allocation of 0 bytes.



jerry
(This used to be commit 233b9cffa2)
2000-08-12 14:14:40 +00:00

42 lines
1.1 KiB
C

#ifndef _TALLOC_H_
#define _TALLOC_H_
/*
Unix SMB/Netbios implementation.
Version 3.0
Samba temporary memory allocation functions
Copyright (C) Andrew Tridgell 2000
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifdef DEBUG_TALLOC
#define BAD_PTR (void*)0xdeadbeef
#else
#define BAD_PTR NULL
#endif
struct talloc_chunk {
struct talloc_chunk *next;
void *ptr;
size_t alloc_size;
size_t total_size;
};
typedef struct {
struct talloc_chunk *list;
} TALLOC_CTX;
#endif