Message ID | 1308043507-11083-10-git-send-email-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3b30f9f437eed6a1fd7f306fa0d2ab1e18e44a1f |
Headers | show |
diff --git a/drivers/video/g364fb.c b/drivers/video/g364fb.c index d662317..223896c 100644 --- a/drivers/video/g364fb.c +++ b/drivers/video/g364fb.c @@ -149,10 +149,11 @@ int g364fb_cursor(struct fb_info *info, struct fb_cursor *cursor) static int g364fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) { - if (var->xoffset || var->yoffset + var->yres > var->yres_virtual) + if (var->xoffset || + var->yoffset + info->var.yres > info->var.yres_virtual) return -EINVAL; - *(unsigned int *) TOP_REG = var->yoffset * var->xres; + *(unsigned int *) TOP_REG = var->yoffset * info->var.xres; return 0; }
We must not use any information in the passed var besides xoffset, yoffset and vmode as otherwise applications might abuse it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- drivers/video/g364fb.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)