]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/http.c: replace asserts
authorTomas Krizek <tomas.krizek@nic.cz>
Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)
committerTomas Krizek <tomas.krizek@nic.cz>
Tue, 25 May 2021 10:44:37 +0000 (12:44 +0200)
daemon/http.c

index d92dde79bd595615db38359f63d89e65d87b2b25..c7d1cb3f5debd559167838f5df8640f658c972de 100644 (file)
@@ -7,7 +7,6 @@
  * SPDX-License-Identifier: GPL-3.0-or-later
  */
 
-#include <assert.h>
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -125,7 +124,8 @@ static int send_data_callback(nghttp2_session *h2, nghttp2_frame *frame, const u
        if (ret < 0)
                return NGHTTP2_ERR_CALLBACK_FAILURE;
        data->pos += length;
-       assert(data->pos <= data->len);
+       if (!kr_assume(data->pos <= data->len))
+               return NGHTTP2_ERR_CALLBACK_FAILURE;
 
        ret = send_padding(ctx, (uint8_t)frame->data.padlen);
        if (ret < 0)
@@ -441,7 +441,8 @@ static int on_frame_recv_callback(nghttp2_session *h2, const nghttp2_frame *fram
        struct http_ctx *ctx = (struct http_ctx *)user_data;
        ssize_t len;
        int32_t stream_id = frame->hd.stream_id;
-       assert(stream_id != -1);
+       if(!kr_assume(stream_id != -1))
+               return NGHTTP2_ERR_CALLBACK_FAILURE;
 
        if ((frame->hd.flags & NGHTTP2_FLAG_END_STREAM) && ctx->incomplete_stream == stream_id) {
                if (ctx->current_method == HTTP_METHOD_GET) {
@@ -562,7 +563,8 @@ ssize_t http_process_input_data(struct session *session, const uint8_t *buf,
 
        if (!ctx->h2)
                return kr_error(ENOSYS);
-       assert(ctx->session == session);
+       if (!kr_assume(ctx->session == session))
+               return kr_error(EINVAL);
 
        ctx->submitted = 0;
        ctx->buf = session_wirebuf_get_free_start(session);