https://bz.apache.org/bugzilla/show_bug.cgi?id=59230

            Bug ID: 59230
           Summary: mod_proxy_express uses db after close
           Product: Apache httpd-2
           Version: 2.4.18
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_proxy_express
          Assignee: [email protected]
          Reporter: [email protected]

Or at least it seems to me. Log entries says:

[proxy_express:debug] [pid 21000] mod_proxy_express.c(159): [client
127.0.0.1:36712] AH01004: proxy_express: found www3.example.com ->
EEEEEEEEEEEEEEEEEEEEEE

for dbm or

[proxy_express:debug] [pid 28503] mod_proxy_express.c(159): [client
127.0.0.1:36122] AH01004: proxy_express: found www3.example.com -> \xc0Yp\xc6)V

for db type.

The offending code in mod_proxy_express.c looks like:

    key.dptr = (char *)name;
    key.dsize = strlen(key.dptr);

    rv = apr_dbm_fetch(db, key, &val);
    apr_dbm_close(db);
    if (rv != APR_SUCCESS) {
        return DECLINED;
    }

    backend = apr_pstrmemdup(r->pool, val.dptr, val.dsize);
    if (!backend) {
        return DECLINED;
    }

148         apr_dbm_close(db);
(gdb) p val
$21 = {dptr = 0x55555586ae80 "http://localhost:60081\033EEEEEEEEE0";, dsize =
22}
(gdb) n
149         if (rv != APR_SUCCESS) {
(gdb) p val
$22 = {dptr = 0x55555586ae80 "", dsize = 22}


See also https://gist.github.com/larsks/2322786 .

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to