X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fdcache.c;h=ca02c13a84aa24d55b18bbced577ece923605665;hb=HEAD;hp=265e0ce9769c70db65d5f9df11c4365f44c6dd29;hpb=8352650a5c1a3cd75476a25aaae8b1c6ade1c3f8;p=~andy%2Flinux diff --git a/fs/dcache.c b/fs/dcache.c index 265e0ce9769..ca02c13a84a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -2833,9 +2833,9 @@ static int prepend_name(char **buffer, int *buflen, struct qstr *name) u32 dlen = ACCESS_ONCE(name->len); char *p; - if (*buflen < dlen + 1) - return -ENAMETOOLONG; *buflen -= dlen + 1; + if (*buflen < 0) + return -ENAMETOOLONG; p = *buffer -= dlen + 1; *p++ = '/'; while (dlen--) {