Skip to content

Commit 8a667ab

Browse files
authored
Tighten regex used for S3 200 errors (#3130)
1 parent c591160 commit 8a667ab

File tree

3 files changed

+169
-142
lines changed

3 files changed

+169
-142
lines changed

gems/aws-sdk-s3/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Unreleased Changes
22
------------------
33

4+
* Issue - Tighten regex used to check for S3 200 errors.
5+
46
1.170.0 (2024-11-06)
57
------------------
68

gems/aws-sdk-s3/lib/aws-sdk-s3/plugins/http_200_errors.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ def incomplete_xml_body?(xml, output)
7171

7272
def check_for_error(context)
7373
xml = context.http_response.body_contents
74-
if xml.match(/\?>\s*<Error>/)
75-
error_code = xml.match(/<Code>(.+?)<\/Code>/)[1]
76-
error_message = xml.match(/<Message>(.+?)<\/Message>/)[1]
74+
if xml.match(/<\?xml\s[^>]*\?>\s*<Error>/)
75+
error_code = xml.match(%r{<Code>(.+?)</Code>})[1]
76+
error_message = xml.match(%r{<Message>(.+?)</Message>})[1]
7777
S3::Errors.error_class(error_code).new(context, error_message)
7878
elsif incomplete_xml_body?(xml, context.operation.output)
7979
Seahorse::Client::NetworkingError.new(

0 commit comments

Comments
 (0)