Removed another occurence of dirfd()
This fixes a tiny memory leak as well, as the return value of opendir() wasn't passed to a closedir() after use.
Этот коммит содержится в:
родитель
e5dccc1719
Коммит
21f2e62793
@ -212,10 +212,6 @@ char *path_real(const char *orig) {
|
|||||||
int path_chdir(const char *path) {
|
int path_chdir(const char *path) {
|
||||||
char **arr, *cur;
|
char **arr, *cur;
|
||||||
int i, r = -1;
|
int i, r = -1;
|
||||||
DIR *d;
|
|
||||||
|
|
||||||
if((d = opendir(".")) == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if((cur = path_absolute(path)) == NULL)
|
if((cur = path_absolute(path)) == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
@ -229,8 +225,6 @@ int path_chdir(const char *path) {
|
|||||||
r = 0;
|
r = 0;
|
||||||
|
|
||||||
path_chdir_done:
|
path_chdir_done:
|
||||||
if(r < 0)
|
|
||||||
fchdir(dirfd(d));
|
|
||||||
free(cur);
|
free(cur);
|
||||||
free(arr);
|
free(arr);
|
||||||
return r;
|
return r;
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user