if (rs_context_create(&rh, RS_DICT_FILE) != 0)
return NULL;
- ralloc.calloc = gssEapCalloc;
- ralloc.malloc = gssEapMalloc;
- ralloc.free = gssEapFree;
- ralloc.realloc = gssEapRealloc;
+ ralloc.calloc = GSSEAP_CALLOC;
+ ralloc.malloc = GSSEAP_MALLOC;
+ ralloc.free = GSSEAP_FREE;
+ ralloc.realloc = GSSEAP_REALLOC;
rs_context_set_alloc_scheme(rh, &ralloc);
VALUE_PAIR **vps)
{
pairfree(vps);
+ *minor = 0;
+ return GSS_S_COMPLETE;
}
OM_uint32
break;
case PW_TYPE_STRING:
/* check enough room to NUL terminate */
- if (p[0] >= MAX_STRING_LEN)
+ if (p[0] == MAX_STRING_LEN)
goto fail;
+ else
/* fallthrough */
default:
+ if (p[0] > MAX_STRING_LEN)
+ goto fail;
+
vp->length = (uint32_t)p[0];
memcpy(vp->vp_octets, p + 1, vp->length);