From ff7ed1e5e7a91253f940a5a35cfce9540952301c Mon Sep 17 00:00:00 2001 From: ericm Date: Fri, 24 Nov 2006 18:15:11 +0000 Subject: [PATCH] branch: b_new_cmd the part missing from last commit: don't taint passed-in obj until we know everything is fine. --- lustre/ptlrpc/gss/gss_krb5_mech.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lustre/ptlrpc/gss/gss_krb5_mech.c b/lustre/ptlrpc/gss/gss_krb5_mech.c index 0256796..de969ff 100644 --- a/lustre/ptlrpc/gss/gss_krb5_mech.c +++ b/lustre/ptlrpc/gss/gss_krb5_mech.c @@ -207,20 +207,22 @@ static int get_rawobj(char **ptr, const char *end, rawobj_t *res) { char *p, *q; + __u32 len; p = *ptr; - if (get_bytes(&p, end, &res->len, sizeof(res->len))) + if (get_bytes(&p, end, &len, sizeof(len))) return -1; - q = p + res->len; + q = p + len; if (q > end || q < p) return -1; - OBD_ALLOC(res->data, res->len); + OBD_ALLOC(res->data, len); if (!res->data) return -1; - memcpy(res->data, p, res->len); + res->len = len; + memcpy(res->data, p, len); *ptr = q; return 0; } -- 1.8.3.1