diff options
author | Pedro Scarapicchia Junior <pedrinho.rep51@gmail.com> | 2011-05-09 14:10:49 +0000 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-05-12 17:05:37 -0500 |
commit | 1b0bcbcf62884959fa7214eb16c44cff445691c6 (patch) | |
tree | 08d74d89ce863caec1536c3830168ed7a2d42817 /net/9p | |
parent | ca1376d10810bc2c20c8d0821a9ee04ca2507c01 (diff) | |
download | op-kernel-dev-1b0bcbcf62884959fa7214eb16c44cff445691c6.zip op-kernel-dev-1b0bcbcf62884959fa7214eb16c44cff445691c6.tar.gz |
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')
-rw-r--r-- | net/9p/protocol.c | 1 |
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; |