From: Charles Manning Date: Tue, 12 Apr 2011 22:20:06 +0000 (+1200) Subject: yaffs: Handle attribute size query correctly. X-Git-Tag: pre-block-summary X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=7715144e7d55b2854f907001c432348e4caa5954 yaffs: Handle attribute size query correctly. If getxattr() is passed a buffer size of zero then this is a size query. Return the size of the attribute without copying it out. Signed-off-by: Charles Manning --- diff --git a/yaffs_nameval.c b/yaffs_nameval.c index e75411b..487b03e 100644 --- a/yaffs_nameval.c +++ b/yaffs_nameval.c @@ -146,6 +146,12 @@ int nval_get(const char *xb, int xb_size, const YCHAR * name, char *buf, pos++; size--; + /* If bsize is zero then this is a size query. + * Return the size, but don't copy. + */ + if (!bsize) + return size; + if (size <= bsize) { memcpy(buf, xb + pos, size); return size;