diff options
-rw-r--r-- | video/out/drm_common.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/video/out/drm_common.c b/video/out/drm_common.c index 4e9f497c6c..8a4e017d28 100644 --- a/video/out/drm_common.c +++ b/video/out/drm_common.c @@ -190,13 +190,18 @@ bool kms_setup(struct kms *kms, const char *device_path, int connector_id, int m } if (!setup_connector(kms, res, connector_id)) - return false; + goto err; if (!setup_crtc(kms, res)) - return false; + goto err; if (!setup_mode(kms, mode_id)) - return false; + goto err; + drmModeFreeResources(res); return true; + +err: + drmModeFreeResources(res); + return false; } void kms_destroy(struct kms *kms) |