Skip to content

Commit a67c66a

Browse files
committed
Fixup: C code
1 parent 7a6ad8b commit a67c66a

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

services/nginz/third_party/nginx-zauth-module/zauth_module.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -499,24 +499,24 @@ static ngx_int_t zauth_parse_request (ngx_http_request_t * r) {
499499
static ZauthResult token_from_header (ngx_str_t const * hdr, ZauthToken ** t) {
500500
const char bearer[] = "Bearer ";
501501
const char aws4_hmac_sha256[] = "AWS4-HMAC-SHA256 ";
502-
if (hdr->len >= sizeof(bearer) && strncmp((char const *) hdr->data, bearer, sizeof(bearer)) == 0) {
503-
return zauth_token_parse(&hdr->data[sizeof(bearer)], hdr->len - sizeof(bearer), t);
504-
} else if (hdr->len >= sizeof(aws4_hmac_sha256) && strncmp((char const *) hdr->data, aws4_hmac_sha256, sizeof(aws4_hmac_sha256)) == 0) {
505-
return token_from_aws_hmac_header(&hdr->data[sizeof(aws4_hmac_sha256)], hdr->len - sizeof(aws4_hmac_sha256), t);
502+
if (hdr->len >= sizeof(bearer) - 1 && strncmp((char const *) hdr->data, bearer, sizeof(bearer) - 1) == 0) {
503+
return zauth_token_parse(&hdr->data[sizeof(bearer) - 1], hdr->len - sizeof(bearer) - 1, t);
504+
} else if (hdr->len >= sizeof(aws4_hmac_sha256) - 1 && strncmp((char const *) hdr->data, aws4_hmac_sha256, sizeof(aws4_hmac_sha256) - 1) == 0) {
505+
return token_from_aws_hmac_header(&hdr->data[sizeof(aws4_hmac_sha256) - 1], hdr->len - sizeof(aws4_hmac_sha256) - 1, t);
506506
} else {
507507
return ZAUTH_PARSE_ERROR;
508508
}
509509
}
510510

511511
static ZauthResult token_from_query (ngx_str_t const * query, ZauthToken ** t) {
512512
const char param_name[] = "access_token=";
513-
uint8_t const * start = memmem(query->data, query->len, param_name, sizeof(param_name));
513+
uint8_t const * start = memmem(query->data, query->len, param_name, sizeof(param_name) - 1);
514514

515515
if (start == NULL) {
516516
return ZAUTH_PARSE_ERROR;
517517
}
518518

519-
uint8_t const * token_start = start + sizeof(param_name);
519+
uint8_t const * token_start = start + sizeof(param_name) - 1;
520520
size_t token_len = query->len - (token_start - query->data);
521521
uint8_t const * token_end = memchr(token_start, '&', token_len);
522522

@@ -528,13 +528,13 @@ static ZauthResult token_from_query (ngx_str_t const * query, ZauthToken ** t) {
528528
// https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
529529
static ZauthResult token_from_aws_hmac_header(uint8_t const * auth_header, size_t auth_header_len, ZauthToken ** t) {
530530
const char component_name[] = "Credential=";
531-
uint8_t const * start = memmem(auth_header, auth_header_len, component_name, sizeof(component_name));
531+
uint8_t const * start = memmem(auth_header, auth_header_len, component_name, sizeof(component_name) - 1);
532532

533533
if (start == NULL) {
534534
return ZAUTH_PARSE_ERROR;
535535
}
536536

537-
uint8_t const * token_start = start + sizeof(component_name);
537+
uint8_t const * token_start = start + sizeof(component_name) - 1;
538538
size_t remaining_len = auth_header_len - (token_start - auth_header);
539539
uint8_t const * token_end = memchr(token_start, ',', remaining_len);
540540

0 commit comments

Comments
 (0)