mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
r2649: - used some cpp tricks to make users of talloc() and talloc_realloc()
to get auto-naming of pointers very cheaply.
- fixed a couple of memory leaks found with the new tricks
A typical exit report for smbd is now:
talloc report on 'null_context' (total 811 bytes in 54 blocks)
auth/auth_sam.c:334 contains 20 bytes in 1 blocks
struct auth_serversupplied_info contains 498 bytes in 33 blocks
UNNAMED contains 8 bytes in 1 blocks
lib/data_blob.c:40 contains 16 bytes in 1 blocks
iconv(CP850,UTF8) contains 61 bytes in 4 blocks
iconv(UTF8,CP850) contains 61 bytes in 4 blocks
iconv(UTF8,UTF-16LE) contains 67 bytes in 4 blocks
iconv(UTF-16LE,UTF8) contains 67 bytes in 4 blocks
UNNAMED contains 13 bytes in 1 blocks
which is much better than before
(This used to be commit 6e721393d0
)
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
9a62dce0ac
commit
ec0128ef01
@ -84,7 +84,7 @@ NTSTATUS smb_raw_trans2_recv(struct smbcli_request *req,
|
||||
|
||||
/* allocate it */
|
||||
if (total_data != 0) {
|
||||
tdata = talloc_realloc(parms->out.data.data,total_data);
|
||||
tdata = talloc(mem_ctx, total_data);
|
||||
if (!tdata) {
|
||||
DEBUG(0,("smb_raw_receive_trans: failed to enlarge data buffer to %d bytes\n", total_data));
|
||||
req->status = NT_STATUS_NO_MEMORY;
|
||||
@ -94,7 +94,7 @@ NTSTATUS smb_raw_trans2_recv(struct smbcli_request *req,
|
||||
}
|
||||
|
||||
if (total_param != 0) {
|
||||
tparam = talloc_realloc(parms->out.params.data,total_param);
|
||||
tparam = talloc(mem_ctx, total_param);
|
||||
if (!tparam) {
|
||||
DEBUG(0,("smb_raw_receive_trans: failed to enlarge param buffer to %d bytes\n", total_param));
|
||||
req->status = NT_STATUS_NO_MEMORY;
|
||||
|
Reference in New Issue
Block a user