From 21836c240d7966120b0aa5edf031fa2f8a25d72a Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 9 Jun 2017 16:57:33 +0100 Subject: [PATCH] Don't crash on NULL pointers being dealloc'd * The error handling code will be OK if a NULL parameter was passed in but during cleanup it will go through tempdealloc, so we need to check that the pointer is actually valid. --- qrenderdoc/Code/pyrenderdoc/pyconversion.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qrenderdoc/Code/pyrenderdoc/pyconversion.h b/qrenderdoc/Code/pyrenderdoc/pyconversion.h index 119a4059d..34cac4c87 100644 --- a/qrenderdoc/Code/pyrenderdoc/pyconversion.h +++ b/qrenderdoc/Code/pyrenderdoc/pyconversion.h @@ -978,7 +978,11 @@ struct pointer_unwrap static void tempset(U *&ptr, U *tempobj) { ptr = tempobj; } static void tempalloc(U *&ptr, unsigned char *tempmem) { ptr = new(tempmem) U; } - static void tempdealloc(U *ptr) { ptr->~U(); } + static void tempdealloc(U *ptr) + { + if(ptr) + ptr->~U(); + } static U &indirect(U *ptr) { return *ptr; } }; };