]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:smbd: consistently use talloc_tos() memory for rpc_pipe_open_interface()
authorStefan Metzmacher <metze@samba.org>
Mon, 10 Jul 2017 09:29:58 +0000 (11:29 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 13 Jul 2017 08:51:16 +0000 (10:51 +0200)
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
source3/smbd/reply.c

index 53e2724805c35e073e58de106f139965b5c5db9d..a376a593679187b26acf30eaae93496e53212dad 100644 (file)
@@ -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,
index 6acbaca416548b8af218bcde6f740fc67e45f5cc..82dcbba0c1d752aa43f7d0a291edae3addaad568 100644 (file)
@@ -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,