From 1c5935865b433fda0b226f95f8bd9993a34a1b88 Mon Sep 17 00:00:00 2001 From: Olga Kornievskaia Date: Fri, 16 Sep 2011 17:05:57 -0400 Subject: [PATCH] [setattr] uses memory out upcall buffer --- daemon/setattr.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/daemon/setattr.c b/daemon/setattr.c index f0c9b8d..103d4f4 100644 --- a/daemon/setattr.c +++ b/daemon/setattr.c @@ -49,13 +49,8 @@ static int parse_setattr(unsigned char *buffer, uint32_t length, nfs41_upcall *u if (status) goto out; status = safe_read(&buffer, &length, &args->buf_len, sizeof(args->buf_len)); if (status) goto out; - args->buf = malloc(args->buf_len); - if (args->buf == NULL) { - status = GetLastError(); - goto out; - } - status = safe_read(&buffer, &length, args->buf, args->buf_len); - if (status) goto out_free; + + args->buf = buffer; args->root = upcall->root_ref; args->state = upcall->state_ref; @@ -63,9 +58,6 @@ static int parse_setattr(unsigned char *buffer, uint32_t length, nfs41_upcall *u "buf_len=%d\n", args->path, args->set_class, args->buf_len); out: return status; -out_free: - free(args->buf); - goto out; } static int handle_nfs41_setattr(setattr_upcall_args *args) @@ -495,7 +487,6 @@ static int handle_setattr(nfs41_upcall *upcall) break; } - free(args->buf); return status; }