The Samba-Bugzilla – Attachment 13356 Details for
Bug 12890
rpc_pipe_client memory leaks due to long term memory context passed to rpc_pipe_open_interface()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for v4-6-test
tmp46.diff.txt (text/plain), 4.09 KB, created by
Stefan Metzmacher
on 2017-07-11 15:45:25 UTC
(
hide
)
Description:
Patch for v4-6-test
Filename:
MIME Type:
Creator:
Stefan Metzmacher
Created:
2017-07-11 15:45:25 UTC
Size:
4.09 KB
patch
obsolete
>From c04f73e7183c9c1b7c1454e9b14d9293f0022e9a Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Mon, 10 Jul 2017 11:29:58 +0200 >Subject: [PATCH] s3:smbd: consistently use talloc_tos() memory for > rpc_pipe_open_interface() > >The result is only used temporary and should not be leaked on a long term >memory context as 'conn'. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12890 > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> >(cherry picked from commit 77cbced5d2f8bf65c8d02f5edfaba8cbad519d08) >--- > source3/smbd/lanman.c | 20 ++++++++++---------- > source3/smbd/reply.c | 2 +- > 2 files changed, 11 insertions(+), 11 deletions(-) > >diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c >index 995ed08..985566f 100644 >--- a/source3/smbd/lanman.c >+++ b/source3/smbd/lanman.c >@@ -831,7 +831,7 @@ static bool api_DosPrintQGetInfo(struct smbd_server_connection *sconn, > goto out; > } > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -1028,7 +1028,7 @@ static bool api_DosPrintQEnum(struct smbd_server_connection *sconn, > return(True); > } > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -3140,7 +3140,7 @@ static bool api_RDosPrintJobDel(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -3268,7 +3268,7 @@ static bool api_WPrintQueueCtrl(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -3450,7 +3450,7 @@ static bool api_PrintJobInfo(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -4592,7 +4592,7 @@ static bool api_WPrintJobGetInfo(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -4734,7 +4734,7 @@ static bool api_WPrintJobEnumerate(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -4934,7 +4934,7 @@ static bool api_WPrintDestGetInfo(struct smbd_server_connection *sconn, > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -5066,7 +5066,7 @@ static bool api_WPrintDestEnum(struct smbd_server_connection *sconn, > > queuecnt = 0; > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >@@ -5377,7 +5377,7 @@ static bool api_RNetSessionEnum(struct smbd_server_connection *sconn, > return False; > } > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_srvsvc, > conn->session_info, > conn->sconn->remote_address, >diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c >index 6acbaca..82dcbba 100644 >--- a/source3/smbd/reply.c >+++ b/source3/smbd/reply.c >@@ -5950,7 +5950,7 @@ void reply_printqueue(struct smb_request *req) > > ZERO_STRUCT(handle); > >- status = rpc_pipe_open_interface(conn, >+ status = rpc_pipe_open_interface(mem_ctx, > &ndr_table_spoolss, > conn->session_info, > conn->sconn->remote_address, >-- >1.9.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 12890
:
13355
| 13356 |
13357