summaryrefslogtreecommitdiff
path: root/net/9p/protocol.c
diff options
context:
space:
mode:
authorPedro Scarapicchia Junior <pedrinho.rep51@gmail.com>2011-05-09 14:10:49 (GMT)
committerEric Van Hensbergen <ericvh@gmail.com>2011-05-12 22:05:37 (GMT)
commit1b0bcbcf62884959fa7214eb16c44cff445691c6 (patch)
tree08d74d89ce863caec1536c3830168ed7a2d42817 /net/9p/protocol.c
parentca1376d10810bc2c20c8d0821a9ee04ca2507c01 (diff)
downloadlinux-1b0bcbcf62884959fa7214eb16c44cff445691c6.tar.xz
net/9p/protocol.c: Fix a memory leak
When p9pdu_readf() is called with "s" attribute, it allocates a pointer that will store a string. In p9dirent_read(), this pointer is not being released, leading to out of memory errors. This patch releases this pointer after string is copyed to dirent->d_name. Signed-off-by: Pedro Scarapicchia Junior <pedro.scarapiccha@br.flextronics.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p/protocol.c')
-rw-r--r--net/9p/protocol.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/9p/protocol.c b/net/9p/protocol.c
index b58a501..a873277 100644
--- a/net/9p/protocol.c
+++ b/net/9p/protocol.c
@@ -674,6 +674,7 @@ int p9dirent_read(char *buf, int len, struct p9_dirent *dirent,
}
strcpy(dirent->d_name, nameptr);
+ kfree(nameptr);
out:
return fake_pdu.offset;