From b9b6e867df9718ec17d36f8cd6771cd9a337c46b Mon Sep 17 00:00:00 2001 From: Grissiom Date: Fri, 8 Oct 2010 09:38:06 +0800 Subject: [PATCH] check allocated memory when setting SHLVL --- env.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/env.c b/env.c index 58c64adaa..b7c848e3a 100644 --- a/env.c +++ b/env.c @@ -655,8 +655,12 @@ void env_init() wchar_t *nshlvl, **end_nshlvl; /* add an extra space for digit dump (9+1=10) */ size_t i = wcslen( shlvl ) + 2 * sizeof(wchar_t); + nshlvl = malloc(i); end_nshlvl = calloc( 1, sizeof(nshlvl) ); + if ( !nshlvl || !end_nshlvl ) + DIE_MEM(); + if ( nshlvl && swprintf( nshlvl, i, L"%ld", wcstoul( shlvl, end_nshlvl, 10 )+1 ) != -1 ) {