The Samba-Bugzilla – Attachment 13355 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-7-test
tmp47.diff.txt (text/plain), 4.09 KB, created by
Stefan Metzmacher
on 2017-07-11 15:45:01 UTC
(
hide
)
Description:
Patch for v4-7-test
Filename:
MIME Type:
Creator:
Stefan Metzmacher
Created:
2017-07-11 15:45:01 UTC
Size:
4.09 KB
patch
obsolete
>From b0558ba1fc10485a4493109913150fadf6044d62 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 c3e540f..6854527 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, >@@ -1029,7 +1029,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, >@@ -3144,7 +3144,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, >@@ -3273,7 +3273,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, >@@ -3456,7 +3456,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, >@@ -4601,7 +4601,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, >@@ -4744,7 +4744,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, >@@ -4945,7 +4945,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, >@@ -5078,7 +5078,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, >@@ -5390,7 +5390,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 e430a8e..d102b7a 100644 >--- a/source3/smbd/reply.c >+++ b/source3/smbd/reply.c >@@ -5942,7 +5942,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