]> granicus.if.org Git - libevent/commitdiff
http: suppress "flags may be used uninitialized in this function" error
authorAzat Khuzhin <azat@libevent.org>
Sat, 9 Jul 2022 14:17:38 +0000 (17:17 +0300)
committerAzat Khuzhin <azat@libevent.org>
Sat, 9 Jul 2022 14:36:13 +0000 (17:36 +0300)
Some GCC reports [1]:

    /home/runner/work/libevent/libevent/http.c: In function ‘evhttp_make_header’:
    /home/runner/work/libevent/libevent/http.c:503:14: error: ‘flags’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ev_uint16_t flags;
                  ^~~~~
    /home/runner/work/libevent/libevent/http.c: In function ‘evhttp_get_body’:
    /home/runner/work/libevent/libevent/http.c:2354:14: error: ‘flags’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ev_uint16_t flags;
                  ^~~~~
  [1]: https://github.com/libevent/libevent/runs/7263518338?check_suite_focus=true#logs

http.c

diff --git a/http.c b/http.c
index 9cebbb7c7bdc98194869062b742eb548aebb6803..d578735dd815d5961e5d345161127c57064d669a 100644 (file)
--- a/http.c
+++ b/http.c
@@ -500,7 +500,8 @@ evhttp_make_header_request(struct evhttp_connection *evcon,
     struct evhttp_request *req)
 {
        const char *method;
-       ev_uint16_t flags;
+       /* NOTE: some version of GCC reports a warning that flags may be uninitialized, hence assignment */
+       ev_uint16_t flags = 0;
 
        evhttp_remove_header(req->output_headers, "Proxy-Connection");
 
@@ -2351,7 +2352,8 @@ evhttp_get_body_length(struct evhttp_request *req)
 static int
 evhttp_method_may_have_body_(struct evhttp_connection *evcon, enum evhttp_cmd_type type)
 {
-       ev_uint16_t flags;
+       /* NOTE: some version of GCC reports a warning that flags may be uninitialized, hence assignment */
+       ev_uint16_t flags = 0;
        evhttp_method_(evcon, type, &flags);
        return (flags & EVHTTP_METHOD_HAS_BODY) ? 1 : 0;
 }