Mercurial > ecos-v3_0-branch
changeset 875:b17faf385ee0
* src/fs-ecos.c
Fixed segmentation fault when unmounting file system.
| author | jlarmour |
|---|---|
| date | Thu, 27 Mar 2003 08:46:29 +0000 |
| parents | 62d1a985601c |
| children | 66392c0bb656 |
| files | packages/fs/jffs2/current/ChangeLog packages/fs/jffs2/current/src/fs-ecos.c |
| diffstat | 2 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/fs/jffs2/current/ChangeLog +++ b/packages/fs/jffs2/current/ChangeLog @@ -1,3 +1,8 @@ +2003-03-25 Thomas Koeller <thomas.koeller@baslerweb.com> + + * src/fs-ecos.c + Fixed segmentation fault when unmounting file system. + 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com> * cdl/jffs2.cdl: Fix doc link.
--- a/packages/fs/jffs2/current/src/fs-ecos.c +++ b/packages/fs/jffs2/current/src/fs-ecos.c @@ -190,7 +190,7 @@ static void icache_evict(struct inode *r cached_inode = next_inode) { next_inode = cached_inode->i_cache_next; if (cached_inode->i_count == 0) { - cached_inode->i_cache_prev->i_cache_next = cached_inode->i_cache_next; // Prveious entry points ahead of us + cached_inode->i_cache_prev->i_cache_next = cached_inode->i_cache_next; // Previous entry points ahead of us if (cached_inode->i_cache_next != NULL) cached_inode->i_cache_next->i_cache_prev = cached_inode->i_cache_prev; // Next entry points behind us jffs2_clear_inode(cached_inode); @@ -1759,9 +1759,11 @@ void iput(struct inode *i) for (cached_inode = i->i_sb->s_root; cached_inode != NULL; cached_inode = cached_inode->i_cache_next) { if (cached_inode == i) { - cached_inode->i_cache_prev->i_cache_next = cached_inode->i_cache_next; // Prveious entry points ahead of us - if (cached_inode->i_cache_next != NULL) - cached_inode->i_cache_next->i_cache_prev = cached_inode->i_cache_prev; // Next entry points behind us + if(cached_inode->i_cache_prev != NULL) { + cached_inode->i_cache_prev->i_cache_next = cached_inode->i_cache_next; // Previous entry points ahead of us + if (cached_inode->i_cache_next != NULL) + cached_inode->i_cache_next->i_cache_prev = cached_inode->i_cache_prev; // Next entry points behind us + } break; } }
