forked from Imagelibrary/rtems
2000-11-28 Sergei Organov <osv@javad.ru>
* libc/getcwd.c: Ensure _closedir(dir) is called even on error exit from the routine.
This commit is contained in:
@@ -74,7 +74,7 @@ getcwd (pt, size)
|
||||
size_t size;
|
||||
{
|
||||
register struct dirent *dp;
|
||||
register DIR *dir;
|
||||
register DIR *dir = 0;
|
||||
register dev_t dev;
|
||||
register ino_t ino;
|
||||
register int first;
|
||||
@@ -254,6 +254,7 @@ getcwd (pt, size)
|
||||
bpt -= strlen (dp->d_name);
|
||||
bcopy (dp->d_name, bpt, strlen (dp->d_name));
|
||||
(void) _closedir (dir);
|
||||
dir = 0;
|
||||
|
||||
/* Truncate any file name. */
|
||||
*bup = '\0';
|
||||
@@ -271,6 +272,8 @@ notfound:
|
||||
/* FALLTHROUGH */
|
||||
|
||||
err:
|
||||
if(dir)
|
||||
(void) _closedir (dir);
|
||||
if (ptsize)
|
||||
free (pt);
|
||||
free (up);
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
|
||||
2000-11-28 Sergei Organov <osv@javad.ru>
|
||||
|
||||
* libc/getcwd.c: Ensure _closedir(dir) is called even on
|
||||
error exit from the routine.
|
||||
|
||||
2000-11-25 Antti P Miettinen <antti.p.miettinen@nokia.com>
|
||||
|
||||
* libc/termios.c, libc/termiostypes.h: Task driver driver model
|
||||
|
||||
@@ -74,7 +74,7 @@ getcwd (pt, size)
|
||||
size_t size;
|
||||
{
|
||||
register struct dirent *dp;
|
||||
register DIR *dir;
|
||||
register DIR *dir = 0;
|
||||
register dev_t dev;
|
||||
register ino_t ino;
|
||||
register int first;
|
||||
@@ -254,6 +254,7 @@ getcwd (pt, size)
|
||||
bpt -= strlen (dp->d_name);
|
||||
bcopy (dp->d_name, bpt, strlen (dp->d_name));
|
||||
(void) _closedir (dir);
|
||||
dir = 0;
|
||||
|
||||
/* Truncate any file name. */
|
||||
*bup = '\0';
|
||||
@@ -271,6 +272,8 @@ notfound:
|
||||
/* FALLTHROUGH */
|
||||
|
||||
err:
|
||||
if(dir)
|
||||
(void) _closedir (dir);
|
||||
if (ptsize)
|
||||
free (pt);
|
||||
free (up);
|
||||
|
||||
@@ -74,7 +74,7 @@ getcwd (pt, size)
|
||||
size_t size;
|
||||
{
|
||||
register struct dirent *dp;
|
||||
register DIR *dir;
|
||||
register DIR *dir = 0;
|
||||
register dev_t dev;
|
||||
register ino_t ino;
|
||||
register int first;
|
||||
@@ -254,6 +254,7 @@ getcwd (pt, size)
|
||||
bpt -= strlen (dp->d_name);
|
||||
bcopy (dp->d_name, bpt, strlen (dp->d_name));
|
||||
(void) _closedir (dir);
|
||||
dir = 0;
|
||||
|
||||
/* Truncate any file name. */
|
||||
*bup = '\0';
|
||||
@@ -271,6 +272,8 @@ notfound:
|
||||
/* FALLTHROUGH */
|
||||
|
||||
err:
|
||||
if(dir)
|
||||
(void) _closedir (dir);
|
||||
if (ptsize)
|
||||
free (pt);
|
||||
free (up);
|
||||
|
||||
Reference in New Issue
Block a user