aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_crtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_crtc.c')
-rw-r--r--drivers/gpu/drm/drm_crtc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 0d1faa72e1ff..f259a2563204 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -2340,6 +2340,10 @@ int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
2340 } 2340 }
2341 2341
2342 if (num_clips && clips_ptr) { 2342 if (num_clips && clips_ptr) {
2343 if (num_clips < 0 || num_clips > DRM_MODE_FB_DIRTY_MAX_CLIPS) {
2344 ret = -EINVAL;
2345 goto out_err1;
2346 }
2343 clips = kzalloc(num_clips * sizeof(*clips), GFP_KERNEL); 2347 clips = kzalloc(num_clips * sizeof(*clips), GFP_KERNEL);
2344 if (!clips) { 2348 if (!clips) {
2345 ret = -ENOMEM; 2349 ret = -ENOMEM;
@@ -2585,8 +2589,10 @@ struct drm_property *drm_property_create(struct drm_device *dev, int flags,
2585 property->num_values = num_values; 2589 property->num_values = num_values;
2586 INIT_LIST_HEAD(&property->enum_blob_list); 2590 INIT_LIST_HEAD(&property->enum_blob_list);
2587 2591
2588 if (name) 2592 if (name) {
2589 strncpy(property->name, name, DRM_PROP_NAME_LEN); 2593 strncpy(property->name, name, DRM_PROP_NAME_LEN);
2594 property->name[DRM_PROP_NAME_LEN-1] = '\0';
2595 }
2590 2596
2591 list_add_tail(&property->head, &dev->mode_config.property_list); 2597 list_add_tail(&property->head, &dev->mode_config.property_list);
2592 return property; 2598 return property;