Przeglądaj źródła

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 <[email protected]>
Prashant Singh 5 lat temu
rodzic
commit
dc6f198f99
2 zmienionych plików z 13 dodań i 5 usunięć
  1. 12 4
      msm/dsi/dsi_display.c
  2. 1 1
      msm/msm_fb.c

+ 12 - 4
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;
 

+ 1 - 1
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;
 			}