Skip to content

Commit 93f46a0

Browse files
committed
change argument to avoid UB in pointer dreference
1 parent 1e10bd4 commit 93f46a0

File tree

16 files changed

+52
-46
lines changed

16 files changed

+52
-46
lines changed

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3ExpressIdentityProvider.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace Aws {
2525
explicit S3ExpressIdentityProvider(const S3CrtClient &s3Client) : m_s3Client(s3Client) {}
2626

2727
virtual S3ExpressIdentity
28-
GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) = 0;
28+
GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) = 0;
2929

3030
virtual ~S3ExpressIdentityProvider() {}
3131

@@ -53,7 +53,7 @@ namespace Aws {
5353

5454
virtual ~DefaultS3ExpressIdentityProvider() override = default;
5555

56-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
56+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
5757

5858
private:
5959
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
@@ -75,7 +75,7 @@ namespace Aws {
7575

7676
virtual ~DefaultAsyncS3ExpressIdentityProvider() override;
7777

78-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
78+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
7979

8080
private:
8181
void refreshIdentities(std::chrono::minutes refreshPeriod);

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3ExpressSigner.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace Aws {
4141
long long expirationInSeconds
4242
) const override;
4343

44-
Aws::Auth::AWSCredentials GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const override;
44+
Aws::Auth::AWSCredentials GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const override;
4545

4646
protected:
4747
bool ServiceRequireUnsignedPayload(const String &serviceName) const override;

generated/src/aws-cpp-sdk-s3-crt/source/S3CrtIdentityProviderAdapter.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
using namespace Aws::S3Crt;
1010

11+
static const char* ALLOC_TAG = "S3CrtIdentityProviderAdapter";
12+
1113
aws_s3express_credentials_provider *S3CrtIdentityProviderAdapter::ProviderFactory(struct aws_allocator *allocator,
1214
struct aws_s3_client *client,
1315
aws_simple_completion_callback *on_provider_shutdown_callback,
@@ -42,7 +44,8 @@ aws_s3express_credentials_provider *S3CrtIdentityProviderAdapter::ProviderFactor
4244
// hostname at this point in theory will always be this way for express hosts.
4345
auto bucketName = hostname.substr(0, hostname.find('.'));
4446
params.emplace("bucketName", bucketName);
45-
Http::ServiceSpecificParameters serviceSpecificParameters{std::move(params)};
47+
const auto serviceSpecificParameters = Aws::MakeShared<Http::ServiceSpecificParameters>(ALLOC_TAG);
48+
serviceSpecificParameters->parameterMap = std::move(params);
4649

4750
//Get creds as raw ptr
4851
auto providerImpl = static_cast<S3ExpressIdentityProvider *>(provider->impl);

generated/src/aws-cpp-sdk-s3-crt/source/S3ExpressIdentityProvider.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ Aws::S3Crt::DefaultS3ExpressIdentityProvider::DefaultS3ExpressIdentityProvider(
7070

7171
}
7272

73-
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
74-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
75-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
73+
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) {
74+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
75+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
7676
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
7777
return {"", "", "", {}};
7878
}
@@ -146,9 +146,9 @@ void DefaultAsyncS3ExpressIdentityProvider::refreshIdentities(std::chrono::minut
146146
}
147147
}
148148

149-
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
150-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
151-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
149+
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<ServiceSpecificParameters> &serviceSpecificParameters) {
150+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
151+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
152152
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
153153
return {"", "", "", {}};
154154
}

generated/src/aws-cpp-sdk-s3-crt/source/S3ExpressSigner.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ bool S3ExpressSigner::SignRequest(Aws::Http::HttpRequest &request,
5858
return false;
5959
}
6060
putRequestId(requestId);
61-
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(*request.GetServiceSpecificParameters());
61+
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(request.GetServiceSpecificParameters());
6262
request.SetHeaderValue(S3_EXPRESS_HEADER, identity.getSessionToken());
6363
auto isSigned = AWSAuthV4Signer::SignRequest(request, region, serviceName, signBody);
6464
deleteRequestId(requestId);
@@ -80,7 +80,7 @@ bool S3ExpressSigner::PresignRequest(Aws::Http::HttpRequest &request,
8080
return false;
8181
}
8282
putRequestId(requestId);
83-
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(*request.GetServiceSpecificParameters());
83+
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(request.GetServiceSpecificParameters());
8484
request.AddQueryStringParameter(S3_EXPRESS_QUERY_PARAM, identity.getSessionToken());
8585
auto isSigned = AWSAuthV4Signer::PresignRequest(request, region, serviceName, expirationInSeconds);
8686
deleteRequestId(requestId);
@@ -91,7 +91,7 @@ bool S3ExpressSigner::ServiceRequireUnsignedPayload(const Aws::String &serviceNa
9191
return S3_EXPRESS_SERVICE_NAME == serviceName || AWSAuthV4Signer::ServiceRequireUnsignedPayload(serviceName);
9292
}
9393

94-
Aws::Auth::AWSCredentials S3ExpressSigner::GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const {
94+
Aws::Auth::AWSCredentials S3ExpressSigner::GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const {
9595
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(serviceSpecificParameters);
9696
return {identity.getAccessKeyId(), identity.getSecretKeyId()};
9797
}

generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ExpressIdentityProvider.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace Aws {
2525
explicit S3ExpressIdentityProvider(const S3Client &s3Client) : m_s3Client(s3Client) {}
2626

2727
virtual S3ExpressIdentity
28-
GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) = 0;
28+
GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) = 0;
2929

3030
virtual ~S3ExpressIdentityProvider() {}
3131

@@ -53,7 +53,7 @@ namespace Aws {
5353

5454
virtual ~DefaultS3ExpressIdentityProvider() override = default;
5555

56-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
56+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
5757

5858
private:
5959
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
@@ -75,7 +75,7 @@ namespace Aws {
7575

7676
virtual ~DefaultAsyncS3ExpressIdentityProvider() override;
7777

78-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
78+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
7979

8080
private:
8181
void refreshIdentities(std::chrono::minutes refreshPeriod);

generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ExpressSigner.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace Aws {
4141
long long expirationInSeconds
4242
) const override;
4343

44-
Aws::Auth::AWSCredentials GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const override;
44+
Aws::Auth::AWSCredentials GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const override;
4545

4646
protected:
4747
bool ServiceRequireUnsignedPayload(const String &serviceName) const override;

generated/src/aws-cpp-sdk-s3/source/S3ExpressIdentityProvider.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ Aws::S3::DefaultS3ExpressIdentityProvider::DefaultS3ExpressIdentityProvider(
7070

7171
}
7272

73-
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
74-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
75-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
73+
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) {
74+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
75+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
7676
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
7777
return {"", "", "", {}};
7878
}
@@ -146,9 +146,9 @@ void DefaultAsyncS3ExpressIdentityProvider::refreshIdentities(std::chrono::minut
146146
}
147147
}
148148

149-
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
150-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
151-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
149+
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<ServiceSpecificParameters> &serviceSpecificParameters) {
150+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
151+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
152152
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
153153
return {"", "", "", {}};
154154
}

generated/src/aws-cpp-sdk-s3/source/S3ExpressSigner.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ bool S3ExpressSigner::SignRequest(Aws::Http::HttpRequest &request,
5858
return false;
5959
}
6060
putRequestId(requestId);
61-
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(*request.GetServiceSpecificParameters());
61+
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(request.GetServiceSpecificParameters());
6262
request.SetHeaderValue(S3_EXPRESS_HEADER, identity.getSessionToken());
6363
auto isSigned = AWSAuthV4Signer::SignRequest(request, region, serviceName, signBody);
6464
deleteRequestId(requestId);
@@ -80,7 +80,7 @@ bool S3ExpressSigner::PresignRequest(Aws::Http::HttpRequest &request,
8080
return false;
8181
}
8282
putRequestId(requestId);
83-
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(*request.GetServiceSpecificParameters());
83+
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(request.GetServiceSpecificParameters());
8484
request.AddQueryStringParameter(S3_EXPRESS_QUERY_PARAM, identity.getSessionToken());
8585
auto isSigned = AWSAuthV4Signer::PresignRequest(request, region, serviceName, expirationInSeconds);
8686
deleteRequestId(requestId);
@@ -91,7 +91,7 @@ bool S3ExpressSigner::ServiceRequireUnsignedPayload(const Aws::String &serviceNa
9191
return S3_EXPRESS_SERVICE_NAME == serviceName || AWSAuthV4Signer::ServiceRequireUnsignedPayload(serviceName);
9292
}
9393

94-
Aws::Auth::AWSCredentials S3ExpressSigner::GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const {
94+
Aws::Auth::AWSCredentials S3ExpressSigner::GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const {
9595
auto identity = m_S3ExpressIdentityProvider->GetS3ExpressIdentity(serviceSpecificParameters);
9696
return {identity.getAccessKeyId(), identity.getSecretKeyId()};
9797
}

src/aws-cpp-sdk-core/include/aws/core/auth/signer/AWSAuthV4Signer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ namespace Aws
165165
*/
166166
bool PresignRequest(Aws::Http::HttpRequest& request, const char* region, const char* serviceName, long long expirationInSeconds = 0) const override;
167167

168-
virtual Aws::Auth::AWSCredentials GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const;
168+
virtual Aws::Auth::AWSCredentials GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const;
169169

170170
Aws::String GetServiceName() const { return m_serviceName; }
171171
Aws::String GetRegion() const { return m_region; }

src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ AWSAuthV4Signer::~AWSAuthV4Signer()
7979
bool AWSAuthV4Signer::SignRequestWithSigV4a(Aws::Http::HttpRequest& request, const char* region, const char* serviceName,
8080
bool signBody, long long expirationTimeInSeconds, Aws::Crt::Auth::SignatureType signatureType) const
8181
{
82-
AWSCredentials credentials = GetCredentials(*request.GetServiceSpecificParameters());
82+
AWSCredentials credentials = GetCredentials(request.GetServiceSpecificParameters());
8383
auto crtCredentials = Aws::MakeShared<Aws::Crt::Auth::Credentials>(v4AsymmetricLogTag,
8484
Aws::Crt::ByteCursorFromCString(credentials.GetAWSAccessKeyId().c_str()),
8585
Aws::Crt::ByteCursorFromCString(credentials.GetAWSSecretKey().c_str()),
@@ -191,7 +191,7 @@ bool AWSAuthV4Signer::SignRequest(Aws::Http::HttpRequest& request, const char* r
191191
{
192192
Aws::String signingRegion = region ? region : m_region;
193193
Aws::String signingServiceName = serviceName ? serviceName : m_serviceName;
194-
AWSCredentials credentials = GetCredentials(*request.GetServiceSpecificParameters());
194+
AWSCredentials credentials = GetCredentials(request.GetServiceSpecificParameters());
195195

196196
//don't sign anonymous requests
197197
if (credentials.GetAWSAccessKeyId().empty() || credentials.GetAWSSecretKey().empty())
@@ -364,7 +364,7 @@ bool AWSAuthV4Signer::PresignRequest(Aws::Http::HttpRequest& request, const char
364364
{
365365
Aws::String signingRegion = region ? region : m_region;
366366
Aws::String signingServiceName = serviceName ? serviceName : m_serviceName;
367-
AWSCredentials credentials = GetCredentials(*request.GetServiceSpecificParameters());
367+
AWSCredentials credentials = GetCredentials(request.GetServiceSpecificParameters());
368368

369369
//don't sign anonymous requests
370370
if (credentials.GetAWSAccessKeyId().empty() || credentials.GetAWSSecretKey().empty())
@@ -603,7 +603,7 @@ Aws::Utils::ByteBuffer AWSAuthV4Signer::ComputeHash(const Aws::String& secretKey
603603
return hashResult.GetResult();
604604
}
605605

606-
Aws::Auth::AWSCredentials AWSAuthV4Signer::GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const {
606+
Aws::Auth::AWSCredentials AWSAuthV4Signer::GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const {
607607
AWS_UNREFERENCED_PARAM(serviceSpecificParameters);
608608
return m_credentialsProvider->GetAWSCredentials();
609609
}

tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3CrtIdentityProviderAdapterSource.vm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
using namespace Aws::S3Crt;
77

8+
static const char* ALLOC_TAG = "S3CrtIdentityProviderAdapter";
9+
810
aws_s3express_credentials_provider *S3CrtIdentityProviderAdapter::ProviderFactory(struct aws_allocator *allocator,
911
struct aws_s3_client *client,
1012
aws_simple_completion_callback *on_provider_shutdown_callback,
@@ -39,7 +41,8 @@ aws_s3express_credentials_provider *S3CrtIdentityProviderAdapter::ProviderFactor
3941
// hostname at this point in theory will always be this way for express hosts.
4042
auto bucketName = hostname.substr(0, hostname.find('.'));
4143
params.emplace("bucketName", bucketName);
42-
Http::ServiceSpecificParameters serviceSpecificParameters{std::move(params)};
44+
const auto serviceSpecificParameters = Aws::MakeShared<Http::ServiceSpecificParameters>(ALLOC_TAG);
45+
serviceSpecificParameters->parameterMap = std::move(params);
4346

4447
//Get creds as raw ptr
4548
auto providerImpl = static_cast<S3ExpressIdentityProvider *>(provider->impl);

tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ExpressIdentityProviderHeader.vm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace ${rootNamespace} {
2525
explicit S3ExpressIdentityProvider(const ${metadata.classNamePrefix}Client &s3Client) : m_s3Client(s3Client) {}
2626

2727
virtual S3ExpressIdentity
28-
GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) = 0;
28+
GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) = 0;
2929

3030
virtual ~S3ExpressIdentityProvider() {}
3131

@@ -53,7 +53,7 @@ namespace ${rootNamespace} {
5353

5454
virtual ~DefaultS3ExpressIdentityProvider() override = default;
5555

56-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
56+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
5757

5858
private:
5959
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
@@ -75,7 +75,7 @@ namespace ${rootNamespace} {
7575

7676
virtual ~DefaultAsyncS3ExpressIdentityProvider() override;
7777

78-
S3ExpressIdentity GetS3ExpressIdentity(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) override;
78+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
7979

8080
private:
8181
void refreshIdentities(std::chrono::minutes refreshPeriod);

tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ExpressIdentityProviderSource.vm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ Aws::${serviceNamespace}::DefaultS3ExpressIdentityProvider::DefaultS3ExpressIden
7070

7171
}
7272

73-
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
74-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
75-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
73+
S3ExpressIdentity DefaultS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) {
74+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
75+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
7676
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
7777
return {"", "", "", {}};
7878
}
@@ -146,9 +146,9 @@ void DefaultAsyncS3ExpressIdentityProvider::refreshIdentities(std::chrono::minut
146146
}
147147
}
148148

149-
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const ServiceSpecificParameters &serviceSpecificParameters) {
150-
auto bucketNameIter = serviceSpecificParameters.parameterMap.find("bucketName");
151-
if (bucketNameIter == serviceSpecificParameters.parameterMap.end()) {
149+
S3ExpressIdentity DefaultAsyncS3ExpressIdentityProvider::GetS3ExpressIdentity(const std::shared_ptr<ServiceSpecificParameters> &serviceSpecificParameters) {
150+
auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName");
151+
if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) {
152152
AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call")
153153
return {"", "", "", {}};
154154
}

tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ExpressSignerHeader.vm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace ${rootNamespace} {
4141
long long expirationInSeconds
4242
) const override;
4343

44-
Aws::Auth::AWSCredentials GetCredentials(const Aws::Http::ServiceSpecificParameters &serviceSpecificParameters) const override;
44+
Aws::Auth::AWSCredentials GetCredentials(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) const override;
4545

4646
protected:
4747
bool ServiceRequireUnsignedPayload(const String &serviceName) const override;

0 commit comments

Comments
 (0)