diff options
author | Craig Tiller <ctiller@google.com> | 2017-01-12 13:41:52 -0800 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2017-01-12 13:41:52 -0800 |
commit | 95beab22843369189836828a0116a9760482ce7f (patch) | |
tree | 607151de481b16a18df4fdaaf83aaf74eb743f2b /src/core/lib/security/credentials | |
parent | e5d8e02aa6efd3ce97f788560df3994473df8327 (diff) |
Uncover the badness
Diffstat (limited to 'src/core/lib/security/credentials')
-rw-r--r-- | src/core/lib/security/credentials/plugin/plugin_credentials.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/lib/security/credentials/plugin/plugin_credentials.c b/src/core/lib/security/credentials/plugin/plugin_credentials.c index c5e8d67039..afce6a6b12 100644 --- a/src/core/lib/security/credentials/plugin/plugin_credentials.c +++ b/src/core/lib/security/credentials/plugin/plugin_credentials.c @@ -44,6 +44,7 @@ #include "src/core/lib/slice/slice_internal.h" #include "src/core/lib/slice/slice_string_helpers.h" #include "src/core/lib/surface/api_trace.h" +#include "src/core/lib/surface/validate_metadata.h" typedef struct { void *user_data; @@ -78,14 +79,14 @@ static void plugin_md_request_metadata_ready(void *request, bool seen_illegal_header = false; grpc_credentials_md *md_array = NULL; for (i = 0; i < num_md; i++) { - if (!grpc_header_key_is_legal(md[i].key)) { - char *key = grpc_slice_to_c_string(md[i].key); - gpr_log(GPR_ERROR, "Plugin added invalid metadata key: %s", key); - gpr_free(key); + if (!GRPC_LOG_IF_ERROR("validate_metadata_from_plugin", + grpc_validate_header_key_is_legal(md[i].key))) { seen_illegal_header = true; break; } else if (!grpc_is_binary_header(md[i].key) && - !grpc_header_nonbin_value_is_legal(md[i].value)) { + !GRPC_LOG_IF_ERROR( + "validate_metadata_from_plugin", + grpc_validate_header_nonbin_value_is_legal(md[i].value))) { gpr_log(GPR_ERROR, "Plugin added invalid metadata value."); seen_illegal_header = true; break; |