From 346168e021b074b904a697d143e85037d285382d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Mon, 1 May 2006 15:18:01 +0000 Subject: [PATCH] - Save one malloc() - Return NULL in case of error --- src/misc/unicode.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/misc/unicode.c b/src/misc/unicode.c index e7c4e41811..5fa1b1c5fc 100644 --- a/src/misc/unicode.c +++ b/src/misc/unicode.c @@ -140,18 +140,18 @@ static char *MB2MB( const char *string, UINT fromCP, UINT toCP ) int len; len = MultiByteToWideChar( fromCP, 0, string, -1, NULL, 0 ); - assert( len > 0 ); - wide = (wchar_t *)malloc (len * sizeof (wchar_t)); - if( wide == NULL ) + if( len == 0 ); return NULL; + wchar_t wide[len]; + MultiByteToWideChar( fromCP, 0, string, -1, wide, len ); len = WideCharToMultiByte( toCP, 0, wide, -1, NULL, 0, NULL, NULL ); - assert( len > 0 ); + if( len == 0 ) + return NULL; out = malloc( len ); WideCharToMultiByte( toCP, 0, wide, -1, out, len, NULL, NULL ); - free( wide ); return out; } #endif