|
@@ -207,6 +207,7 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen)
|
|
{
|
|
{
|
|
struct ent ent, *res;
|
|
struct ent ent, *res;
|
|
char *buf1, *bp;
|
|
char *buf1, *bp;
|
|
|
|
+ int len;
|
|
int error = -EINVAL;
|
|
int error = -EINVAL;
|
|
|
|
|
|
if (buf[buflen - 1] != '\n')
|
|
if (buf[buflen - 1] != '\n')
|
|
@@ -248,10 +249,11 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
/* Name */
|
|
/* Name */
|
|
- error = qword_get(&buf, buf1, PAGE_SIZE);
|
|
|
|
- if (error == -EINVAL)
|
|
|
|
|
|
+ error = -EINVAL;
|
|
|
|
+ len = qword_get(&buf, buf1, PAGE_SIZE);
|
|
|
|
+ if (len < 0)
|
|
goto out;
|
|
goto out;
|
|
- if (error == -ENOENT)
|
|
|
|
|
|
+ if (len == 0)
|
|
set_bit(CACHE_NEGATIVE, &ent.h.flags);
|
|
set_bit(CACHE_NEGATIVE, &ent.h.flags);
|
|
else {
|
|
else {
|
|
if (error >= IDMAP_NAMESZ) {
|
|
if (error >= IDMAP_NAMESZ) {
|