From 9460f4292b130fcca58519a1c52b9aaef3265042 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Wed, 16 May 2018 16:15:50 -0400 Subject: [PATCH] primitives: ensure primitives_get() returns a populated struct Fixes: https://github.com/FreeRDP/FreeRDP/issues/4658 --- libfreerdp/primitives/primitives.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libfreerdp/primitives/primitives.c b/libfreerdp/primitives/primitives.c index fd236df6e7..d25c5b41dc 100644 --- a/libfreerdp/primitives/primitives.c +++ b/libfreerdp/primitives/primitives.c @@ -28,10 +28,12 @@ #include "prim_internal.h" /* Singleton pointer used throughout the program when requested. */ -static primitives_t pPrimitives = { 0 }; static primitives_t pPrimitivesGeneric = { 0 }; static INIT_ONCE generic_primitives_InitOnce = INIT_ONCE_STATIC_INIT; +#if defined(HAVE_OPTIMIZED_PRIMITIVES) +static primitives_t pPrimitives = { 0 }; static INIT_ONCE primitives_InitOnce = INIT_ONCE_STATIC_INIT; +#endif /* ------------------------------------------------------------------------- */ @@ -74,8 +76,10 @@ primitives_t* primitives_get(void) InitOnceExecuteOnce(&generic_primitives_InitOnce, primitives_init_generic, NULL, NULL); #if defined(HAVE_OPTIMIZED_PRIMITIVES) InitOnceExecuteOnce(&primitives_InitOnce, primitives_init, NULL, NULL); -#endif return &pPrimitives; +#else + return &pPrimitivesGeneric; +#endif } primitives_t* primitives_get_generic(void)