From 18b947b99919e7a1b8a80eda47fa29bf8675bc69 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 21 Jul 2015 14:05:40 +0100 Subject: [PATCH] sna: Abort output construction on allocation failure Signed-off-by: Chris Wilson --- src/sna/sna_display.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 69667adb..e1264dbd 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -4526,6 +4526,12 @@ sna_output_add(struct sna *sna, unsigned id, unsigned serial) sna_output->num_props = compat_conn.conn.count_props; sna_output->prop_ids = malloc(sizeof(uint32_t)*compat_conn.conn.count_props); sna_output->prop_values = malloc(sizeof(uint64_t)*compat_conn.conn.count_props); + if (sna_output->prop_ids == NULL || sna_output->prop_values == NULL) { + free(sna_output->prop_ids); + free(sna_output->prop_values); + free(sna_output); + return -1; + } compat_conn.conn.count_encoders = 0; @@ -8240,7 +8246,7 @@ void sna_mode_redisplay(struct sna *sna) sna_crtc->bo->tiling, CREATE_SCANOUT); if (bo == NULL) - goto disable1; + continue; sna_crtc_redisplay(crtc, &damage, bo); kgem_bo_submit(&sna->kgem, bo);