Hi,

httpd's mod_authn_dbd module currently seems to expect that lifetime of apr_dbd_get_entry(...) result is the same as of the pool used in apr_dbd_get_row(...) function.

But this is not a true for at least pgsql backend. Its get_entry function returns "return PQgetvalue(row->res->res, row->n, n);". Documentation for PQgetvalue says following:

"One must explicitly copy the data into other storage if it is to be used past the lifetime of the PGresult structure itself."

res->res is also freed in dbd_pgsql_get_row(...).

Is that correct behaviour and httpd's mod_authn_dbd module should strdup the result, or is it apr_dbd, which should return result with expected lifetime?

Regards,
Jan Kaluza

Reply via email to