diff --git a/lib/nghttp2_submit.c b/lib/nghttp2_submit.c index da692c93..f5554eb5 100644 --- a/lib/nghttp2_submit.c +++ b/lib/nghttp2_submit.c @@ -681,14 +681,14 @@ int nghttp2_submit_priority_update(nghttp2_session *session, uint8_t flags, mem = &session->mem; - if (session->remote_settings.no_rfc7540_priorities == 0) { - return 0; - } - if (session->server) { return NGHTTP2_ERR_INVALID_STATE; } + if (session->remote_settings.no_rfc7540_priorities == 0) { + return 0; + } + if (stream_id == 0 || 4 + field_value_len > NGHTTP2_MAX_PAYLOADLEN) { return NGHTTP2_ERR_INVALID_ARGUMENT; }