|
18 | 18 | #include <app/CommandHandlerImpl.h>
|
19 | 19 |
|
20 | 20 | #include <access/AccessControl.h>
|
| 21 | +#include <access/SubjectDescriptor.h> |
21 | 22 | #include <app-common/zap-generated/cluster-objects.h>
|
22 | 23 | #include <app/MessageDef/StatusIB.h>
|
23 | 24 | #include <app/RequiredPrivilege.h>
|
@@ -391,10 +392,11 @@ Status CommandHandlerImpl::ProcessCommandDataIB(CommandDataIB::Parser & aCommand
|
391 | 392 | VerifyOrReturnError(err == CHIP_NO_ERROR, Status::InvalidAction);
|
392 | 393 |
|
393 | 394 | {
|
| 395 | + Access::SubjectDescriptor subjectDescriptor = GetSubjectDescriptor(); |
394 | 396 | DataModel::InvokeRequest request;
|
395 | 397 |
|
396 | 398 | request.path = concretePath;
|
397 |
| - request.subjectDescriptor = GetSubjectDescriptor(); |
| 399 | + request.subjectDescriptor = &subjectDescriptor; |
398 | 400 | request.invokeFlags.Set(DataModel::InvokeFlags::kTimed, IsTimedInvoke());
|
399 | 401 |
|
400 | 402 | Status preCheckStatus = mpCallback->ValidateCommandCanBeDispatched(request);
|
@@ -513,10 +515,11 @@ Status CommandHandlerImpl::ProcessGroupCommandDataIB(CommandDataIB::Parser & aCo
|
513 | 515 | const ConcreteCommandPath concretePath(mapping.endpoint_id, clusterId, commandId);
|
514 | 516 |
|
515 | 517 | {
|
| 518 | + Access::SubjectDescriptor subjectDescriptor = GetSubjectDescriptor(); |
516 | 519 | DataModel::InvokeRequest request;
|
517 | 520 |
|
518 | 521 | request.path = concretePath;
|
519 |
| - request.subjectDescriptor = GetSubjectDescriptor(); |
| 522 | + request.subjectDescriptor = &subjectDescriptor; |
520 | 523 | request.invokeFlags.Set(DataModel::InvokeFlags::kTimed, IsTimedInvoke());
|
521 | 524 |
|
522 | 525 | Status preCheckStatus = mpCallback->ValidateCommandCanBeDispatched(request);
|
|
0 commit comments