You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2012/11/14 19:20:27 UTC

Re: svn commit: r1408958 - in /httpd/httpd/trunk: CHANGES modules/session/mod_session_dbd.c


jailletc36@apache.org 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