From 96bb9c77af94d8e9c48f76114afa2e00ce74a82f Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Sat, 18 Feb 2006 20:53:01 +0000 Subject: [PATCH] Fix bug dereferencing null pointer under some conditions. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22515 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSFileManager.m | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index d9c56ccc6..c402893ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-02-18 Richard Frith-Macdonald + + * Source/NSFileManager.m: Fix bug dereferencing nul pointer under + some conditions. + 2006-02-17 Richard Frith-Macdonald * Source/NSFileManager.m: Implement method to get name of files diff --git a/Source/NSFileManager.m b/Source/NSFileManager.m index 0ad72702e..60e05abdd 100644 --- a/Source/NSFileManager.m +++ b/Source/NSFileManager.m @@ -231,8 +231,8 @@ */ @interface GSAttrDictionary : NSDictionary { - _CHAR *_path; struct _STATB statbuf; + _CHAR _path[0]; } + (NSDictionary*) attributesAt: (const _CHAR*)lpath traverseLink: (BOOL)traverse; @@ -2746,10 +2746,12 @@ static NSSet *fileKeys = nil; { DESTROY(d); } - d->_path = (_CHAR*)&d[1]; - for (i = 0; i <= l; i++) + if (d != nil) { - d->_path[i] = lpath[i]; + for (i = 0; i <= l; i++) + { + d->_path[i] = lpath[i]; + } } return AUTORELEASE(d); }