plugin_common.c   plugin_common.c 
skipping to change at line 155 skipping to change at line 155
memset(&hints, 0, sizeof(hints)); memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC; hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM; hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST; hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
if (getaddrinfo(hbuf, &addr[i], &hints, &ai) != 0) { if (getaddrinfo(hbuf, &addr[i], &hints, &ai) != 0) {
PARAMERROR( utils ); PARAMERROR( utils );
return SASL_BADPARAM; return SASL_BADPARAM;
} }
len = ai->ai_addrlen; len = (socklen_t) ai->ai_addrlen;
memcpy(&ss, ai->ai_addr, len); memcpy(&ss, ai->ai_addr, len);
freeaddrinfo(ai); freeaddrinfo(ai);
sockaddr_unmapped((struct sockaddr *)&ss, &len); sockaddr_unmapped((struct sockaddr *)&ss, &len);
if (outlen < len) { if (outlen < len) {
PARAMERROR( utils ); PARAMERROR( utils );
return SASL_BUFOVER; return SASL_BUFOVER;
} }
memcpy(out, &ss, len); memcpy(out, &ss, len);
skipping to change at line 233 skipping to change at line 233
if(!(*rwbuf)) { if(!(*rwbuf)) {
*rwbuf = utils->malloc(newlen); *rwbuf = utils->malloc(newlen);
if (*rwbuf == NULL) { if (*rwbuf == NULL) {
*curlen = 0; *curlen = 0;
MEMERROR(utils); MEMERROR(utils);
return SASL_NOMEM; return SASL_NOMEM;
} }
*curlen = newlen; *curlen = newlen;
} else if(*rwbuf && *curlen < newlen) { } else if(*rwbuf && *curlen < newlen) {
size_t needed = 2*(*curlen); unsigned needed = 2*(*curlen);
while(needed < newlen) while(needed < newlen)
needed *= 2; needed *= 2;
*rwbuf = utils->realloc(*rwbuf, needed); *rwbuf = utils->realloc(*rwbuf, needed);
if (*rwbuf == NULL) { if (*rwbuf == NULL) {
*curlen = 0; *curlen = 0;
MEMERROR(utils); MEMERROR(utils);
return SASL_NOMEM; return SASL_NOMEM;
} }
skipping to change at line 270 skipping to change at line 270
*out = utils->malloc(len + 1); *out = utils->malloc(len + 1);
if (!*out) { if (!*out) {
MEMERROR(utils); MEMERROR(utils);
return SASL_NOMEM; return SASL_NOMEM;
} }
strcpy((char *) *out, in); strcpy((char *) *out, in);
if (outlen) if (outlen)
*outlen = len; *outlen = (int) len;
return SASL_OK; return SASL_OK;
} }
void _plug_free_string(const sasl_utils_t *utils, char **str) void _plug_free_string(const sasl_utils_t *utils, char **str)
{ {
size_t len; size_t len;
if (!utils || !str || !(*str)) return; if (!utils || !str || !(*str)) return;
len = strlen(*str); len = strlen(*str);
utils->erasebuffer(*str, len); utils->erasebuffer(*str, (unsigned int) len);
utils->free(*str); utils->free(*str);
*str=NULL; *str=NULL;
} }
void _plug_free_secret(const sasl_utils_t *utils, sasl_secret_t **secret) void _plug_free_secret(const sasl_utils_t *utils, sasl_secret_t **secret)
{ {
if(!utils || !secret || !(*secret)) return; if(!utils || !secret || !(*secret)) return;
utils->erasebuffer((char *)(*secret)->data, (*secret)->len); utils->erasebuffer((char *)(*secret)->data, (*secret)->len);
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/