From dc6f198f9949f85ef71447248a68498c26e619c0 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Wed, 14 Aug 2019 16:06:42 +0530 Subject: [PATCH] disp: msm: add null pointer sanity checks Add missing null pointer checks for variables before referencing them. Change-Id: I5592ea136d2759e0a4adb288492c6ef00ae79c4d Signed-off-by: Prashant Singh --- msm/dsi/dsi_display.c | 16 ++++++++++++---- msm/msm_fb.c | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index e5948d324c..82ced76854 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -5559,14 +5559,22 @@ struct drm_panel *dsi_display_get_drm_panel(struct dsi_display * display) int dsi_display_drm_ext_bridge_init(struct dsi_display *display, struct drm_encoder *encoder, struct drm_connector *connector) { - struct drm_device *drm = encoder->dev; - struct drm_bridge *bridge = encoder->bridge; + struct drm_device *drm; + struct drm_bridge *bridge; struct drm_bridge *ext_bridge; struct drm_connector *ext_conn; - struct sde_connector *sde_conn = to_sde_connector(connector); - struct drm_bridge *prev_bridge = bridge; + struct sde_connector *sde_conn; + struct drm_bridge *prev_bridge; int rc = 0, i; + if (!display || !encoder || !connector) + return -EINVAL; + + drm = encoder->dev; + bridge = encoder->bridge; + sde_conn = to_sde_connector(connector); + prev_bridge = bridge; + if (display->panel && !display->panel->host_config.ext_bridge_mode) return 0; diff --git a/msm/msm_fb.c b/msm/msm_fb.c index bc51e01df3..4c4eba9be1 100644 --- a/msm/msm_fb.c +++ b/msm/msm_fb.c @@ -395,7 +395,7 @@ struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev, + width * cpp + mode_cmd->offsets[i]; - if (bos[i]->size < min_size) { + if (!bos[i] || bos[i]->size < min_size) { ret = -EINVAL; goto fail; }