Changeset 624

Show
Ignore:
Timestamp:
09/07/08 09:55:15 (5 months ago)
Author:
smoku
Message:

Merged pointer size overflow patch. Fixes #231

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/sx/sasl_gsasl.c

    r584 r624  
    271271    char *buf = NULL, *out = NULL, *realm = NULL, *ext_id; 
    272272    char hostname[256]; 
    273     int buflen, outlen, ret, i; 
     273    int ret, i; 
     274    size_t buflen, outlen; 
    274275 
    275276    if(mech != NULL) { 
     
    336337        } 
    337338 
    338         ret = gsasl_step(sd, buf, buflen, &out, (size_t *) &outlen); 
     339        ret = gsasl_step(sd, buf, buflen, &out, &outlen); 
    339340        if(ret != GSASL_OK && ret != GSASL_NEEDS_MORE) { 
    340341            _sx_debug(ZONE, "gsasl_step failed, no sasl for this conn; (%d): %s", ret, gsasl_strerror(ret)); 
     
    356357        } 
    357358        _sx_debug(ZONE, "response from client (decoded: %.*s)", buflen, buf); 
    358         ret = gsasl_step(sd, buf, buflen, &out, (size_t *) &outlen); 
     359        ret = gsasl_step(sd, buf, buflen, &out, &outlen); 
    359360    } 
    360361 
     
    405406static void _sx_sasl_server_process(sx_t s, sx_plugin_t p, Gsasl_session *sd, char *in, int inlen) { 
    406407    char *buf, *out; 
    407     int buflen, outlen, ret; 
     408    size_t buflen, outlen; 
     409    int ret; 
    408410 
    409411    _sx_debug(ZONE, "data from client"); 
     
    414416 
    415417    /* process the data */ 
    416     ret = gsasl_step(sd, buf, buflen, &out, (size_t *) &outlen); 
     418    ret = gsasl_step(sd, buf, buflen, &out, &outlen); 
    417419    if(buf != NULL) free(buf); 
    418420 
     
    722724    char *buf, *out; 
    723725    char hostname[256]; 
    724     int ret, buflen, outlen, ns; 
     726    int ret, ns; 
     727    size_t buflen, outlen; 
    725728    nad_t nad; 
    726729 
     
    758761 
    759762    /* handshake step */ 
    760     ret = gsasl_step(sd, NULL, 0, &out, (size_t *) &outlen); 
     763    ret = gsasl_step(sd, NULL, 0, &out, &outlen); 
    761764    if(ret != GSASL_OK && ret != GSASL_NEEDS_MORE) { 
    762765        _sx_debug(ZONE, "gsasl_step failed, not authing; (%d): %s", ret, gsasl_strerror(ret));