tstream_npa: Allow NULL output parameters
authorVolker Lendecke <vl@samba.org>
Mon, 18 Jan 2021 20:28:30 +0000 (21:28 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 1 Apr 2021 19:32:36 +0000 (19:32 +0000)
When reading the info4, the substructs might not be interesting for
you.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
libcli/named_pipe_auth/npa_tstream.c

index 7ebafaa7ddca65bf5d7fd8ca698c7a51c9191348..fcd616819c3b8ac01811ffddc71bfde75f271f28 100644 (file)
@@ -1348,13 +1348,25 @@ int _tstream_npa_accept_existing_recv(
                *info4 = dst;
        }
 
-       *remote_client_addr = talloc_move(mem_ctx, &state->remote_client_addr);
-       *_remote_client_name = discard_const_p(
-               char, talloc_move(mem_ctx, &i4->remote_client_name));
-       *local_server_addr = talloc_move(mem_ctx, &state->local_server_addr);
-       *local_server_name = discard_const_p(
-               char, talloc_move(mem_ctx, &i4->local_server_name));
-       *session_info = talloc_move(mem_ctx, &i4->session_info);
+       if (remote_client_addr != NULL) {
+               *remote_client_addr = talloc_move(
+                       mem_ctx, &state->remote_client_addr);
+       }
+       if (_remote_client_name != NULL) {
+               *_remote_client_name = discard_const_p(
+                       char, talloc_move(mem_ctx, &i4->remote_client_name));
+       }
+       if (local_server_addr != NULL) {
+               *local_server_addr = talloc_move(
+                       mem_ctx, &state->local_server_addr);
+       }
+       if (local_server_name != NULL) {
+               *local_server_name = discard_const_p(
+                       char, talloc_move(mem_ctx, &i4->local_server_name));
+       }
+       if (session_info != NULL) {
+               *session_info = talloc_move(mem_ctx, &i4->session_info);
+       }
 
        tevent_req_received(req);
        return 0;