Currently 2.4.x fails to compile for me with the following error:

In file included from h2_c1_io.c:24:
h2_c1_io.c: In function ‘pass_output’:
/usr/src/apache/httpd-2.4.x/include/http_log.h:495:14: warning: ‘rv’ may be 
used uninitialized in this function
[-Wmaybe-uninitialized]
              ap_log_cerror_(file, line, mi, level, status, c, __VA_ARGS__); \
              ^~~~~~~~~~~~~~
h2_c1_io.c:264:18: note: ‘rv’ was declared here
     apr_status_t rv;
                  ^~


The following patch fixes this. It is part of r1910507 which is not backported 
yet.

Index: modules/http2/h2_c1_io.c
===================================================================
--- modules/http2/h2_c1_io.c    (revision 1911839)
+++ modules/http2/h2_c1_io.c    (working copy)
@@ -267,7 +267,7 @@
         /* recursive call, may be triggered by an H2EOS bucket
          * being destroyed and triggering sending more data? */
         AP_DEBUG_ASSERT(0);
-        ap_log_cerror(APLOG_MARK, APLOG_ERR, rv, c, APLOGNO(10456)
+        ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(10456)
                       "h2_c1_io(%ld): recursive call of h2_c1_io_pass. "
                       "Denied to prevent output corruption. This "
                       "points to a bug in the HTTP/2 implementation.",


Not sure how we proceed best from here. If we commit it to 2.4.x (after 
appropriate voting of course) it would break the current
backport proposal. But as the backport proposal is a PR it might be easy to 
take out this small part of the proposal.

Regards

Rüdiger

Reply via email to