Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.6.0
-
3
-
13360
Description
In liblustreapi.c:cb_mv_inti() if the parent cannot be opened then we will have closed *dirp but not set it to NULL. This causes a double free when closedir() is called a second time on the way out of llapi_semantic_traverse().
if (dirp != NULL)
closedir(*dirp);
if (parent == NULL) {
dir = opendir_parent(path);
if (dir == NULL) {
ret = -errno;
fprintf(stderr, "can not open %s ret %d\n",
path, ret);
return ret;
}
}
Also the fprintf() call should be llapi_error(..., "cannot open '%s'").