[email protected] wrote: > Author: jailletc36 > Date: Tue Nov 13 21:03:10 2012 > New Revision: 1408958 > > URL: http://svn.apache.org/viewvc?rev=1408958&view=rev > Log: > mod_session_dbd: fix a segmentation fault in the function dbd_remove. > The segmentation fault is caused by an uninitialized function pointer > session_dbd_acquire_fn. > PR 53452 > > Modified: > httpd/httpd/trunk/CHANGES > httpd/httpd/trunk/modules/session/mod_session_dbd.c > > Modified: httpd/httpd/trunk/CHANGES
> Modified: httpd/httpd/trunk/modules/session/mod_session_dbd.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/session/mod_session_dbd.c?rev=1408958&r1=1408957&r2=1408958&view=diff > ============================================================================== > --- httpd/httpd/trunk/modules/session/mod_session_dbd.c (original) > +++ httpd/httpd/trunk/modules/session/mod_session_dbd.c Tue Nov 13 21:03:10 > 2012 > @@ -352,15 +346,13 @@ static apr_status_t dbd_remove(request_r > return APR_EGENERAL; > } > > - statement = apr_hash_get(dbd->prepared, conf->deletelabel, > - APR_HASH_KEY_STRING); > - if (statement == NULL) { > - ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01863) > - "prepared statement could not be found for " > - "SessionDBDdeletelabel with the label '%s'", > - conf->deletelabel); > - return APR_EGENERAL; > - } > + rv = dbd_init(r, conf->deletelabel, &dbd, &statement); > + if (rv != APR_SUCCESS) { > + // No need to do additional error logging here, it has already > + // been done in dbd_init if needed Style. These are C99 style comments. Furthermore the indenting seems to be wrong. Tabs? > + return rv; > + } > + > rv = apr_dbd_pvbquery(dbd->driver, r->pool, dbd->handle, &rows, > statement, > key, NULL); > if (rv != APR_SUCCESS) { > > > Regards RĂ¼diger
