diff --git a/kernel/power/user.c b/kernel/power/user.c
index 75c959de4b29cb7e32d3cbbc21d4cbc5f5bb3db7..abd225550271352ddb4306c9d9b506c013be80ae 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -186,6 +186,11 @@ static ssize_t snapshot_write(struct file *filp, const char __user *buf,
 		res = PAGE_SIZE - pg_offp;
 	}
 
+	if (!data_of(data->handle)) {
+		res = -EINVAL;
+		goto unlock;
+	}
+
 	res = simple_write_to_buffer(data_of(data->handle), res, &pg_offp,
 			buf, count);
 	if (res > 0)