From b8b3077a8d2f28e1524d783bd067572fe74a28fd Mon Sep 17 00:00:00 2001 From: rfm Date: Tue, 6 Feb 2007 12:30:57 +0000 Subject: [PATCH] fix possible nul pointer indirection crash. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24485 72102866-910b-0410-8b05-ffd578937521 --- Source/NSException.m | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Source/NSException.m b/Source/NSException.m index 9cfad7a49..c238aaf9e 100644 --- a/Source/NSException.m +++ b/Source/NSException.m @@ -380,14 +380,25 @@ static void find_address (bfd *abfd, asection *section, if (bfd_find_nearest_line (abfd, section, info->symbols, address - vma, &fileName, &functionName, &line)) { - GSFunctionInfo *fi; + GSFunctionInfo *fi; + NSString *file = nil; + NSString *func = nil; + if (fileName != 0) + { + file = [NSString stringWithCString: fileName + encoding: [NSString defaultCStringEncoding]]; + } + if (functionName != 0) + { + func = [NSString stringWithCString: functionName + encoding: [NSString defaultCStringEncoding]]; + } fi = [GSFunctionInfo alloc]; fi = [fi initWithModule: info->module address: info->theAddress - file: [NSString stringWithCString: fileName - encoding: [NSString defaultCStringEncoding]] - function: [NSString stringWithUTF8String: functionName] + file: file + function: func line: line]; [fi autorelease]; info->theInfo = fi;