aboutsummaryrefslogtreecommitdiffstats
path: root/net/9p
diff options
context:
space:
mode:
authorPedro Scarapicchia Junior <pedrinho.rep51@gmail.com>2011-05-09 10:10:49 -0400
committerEric Van Hensbergen <ericvh@gmail.com>2011-05-12 18:05:37 -0400
commit1b0bcbcf62884959fa7214eb16c44cff445691c6 (patch)
tree08d74d89ce863caec1536c3830168ed7a2d42817 /net/9p
parentca1376d10810bc2c20c8d0821a9ee04ca2507c01 (diff)
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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/9p/protocol.c b/net/9p/protocol.c
index b58a501cf3d1..a873277cb996 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,
674 } 674 }
675 675
676 strcpy(dirent->d_name, nameptr); 676 strcpy(dirent->d_name, nameptr);
677 kfree(nameptr);
677 678
678out: 679out:
679 return fake_pdu.offset; 680 return fake_pdu.offset;