p could be NULL and passing into PTR_ERR

Signed-off-by: Vasyl Gomonovych <gomonov...@gmail.com>
---
 fs/seq_file.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/seq_file.c b/fs/seq_file.c
index 4be761c..8b700b9 100644
--- a/fs/seq_file.c
+++ b/fs/seq_file.c
@@ -262,8 +262,8 @@ ssize_t seq_read(struct file *file, char __user *buf, 
size_t size, loff_t *ppos)
                size_t offs = m->count;
                loff_t next = pos;
                p = m->op->next(m, p, &next);
-               if (!p || IS_ERR(p)) {
-                       err = PTR_ERR(p);
+               if (IS_ERR(p)) {
+                       err = (!p ? -EFAULT : PTR_ERR(p));
                        break;
                }
                err = m->op->show(m, p);
-- 
1.9.1

Reply via email to