diff options
| author | inmarket <andrewh@inmarket.com.au> | 2015-01-03 18:42:51 +1000 | 
|---|---|---|
| committer | inmarket <andrewh@inmarket.com.au> | 2015-01-03 18:42:51 +1000 | 
| commit | da13b83737e85e2d8ed9c737ed641037a8c8ae5e (patch) | |
| tree | 19aada688886502fc9f18c647a85727b7fe842b0 /src | |
| parent | 476d11d599ec4862ae2191f606e10a85bb7c3c23 (diff) | |
| download | uGFX-da13b83737e85e2d8ed9c737ed641037a8c8ae5e.tar.gz uGFX-da13b83737e85e2d8ed9c737ed641037a8c8ae5e.tar.bz2 uGFX-da13b83737e85e2d8ed9c737ed641037a8c8ae5e.zip | |
Safety protection in creation of extended GWIN types.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gwin/gwin_gwin.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/src/gwin/gwin_gwin.c b/src/gwin/gwin_gwin.c index 03902c9b..eb51b89a 100644 --- a/src/gwin/gwin_gwin.c +++ b/src/gwin/gwin_gwin.c @@ -16,6 +16,8 @@  #include "gwin_class.h" +#include <string.h> +  /*-----------------------------------------------   * Data   *-----------------------------------------------*/ @@ -97,6 +99,10 @@ GHandle _gwindowCreate(GDisplay *g, GWindowObject *pgw, const GWindowInit *pInit  		pgw->font = defaultFont;  	#endif +	// Make sure we don't create nasty problems for ourselves +	if (vmt->size > sizeof(GWindowObject)) +		memset(pgw+1, 0, vmt->size - sizeof(GWindowObject)); +  	if (!_gwinWMAdd(pgw, pInit)) {  		if ((pgw->flags & GWIN_FLG_DYNAMIC))  			gfxFree(pgw); | 
