1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

dtfile/dtcopy/fsrtns: CID 88868,88128

This commit is contained in:
Jon Trulson 2018-04-11 15:57:03 -06:00
parent 3ba5c25a55
commit 43a5b19ea0

View file

@ -211,7 +211,7 @@ CopyDir(char *sourceP, char *targetP, int repl, int link, struct stat *statP)
{
DIR *dirP; /* open directory */
struct dirent *entryP; /* directory entry */
char srcname[1024], tgtname[1024];
char srcname[PATH_MAX], tgtname[PATH_MAX];
int srclen, tgtlen;
int rc;
@ -225,7 +225,10 @@ CopyDir(char *sourceP, char *targetP, int repl, int link, struct stat *statP)
if (rc < 0 && errno == EEXIST && repl) {
rc = EraseObject(targetP, repl);
if (rc)
return rc;
{
closedir(dirP);
return rc;
}
rc = mkdir(targetP, statP->st_mode & 0777);
}
if (rc < 0) {
@ -247,11 +250,11 @@ CopyDir(char *sourceP, char *targetP, int repl, int link, struct stat *statP)
}
/* prepare source and target names */
strcpy(srcname, sourceP);
snprintf(srcname, PATH_MAX, "%s", sourceP);
srclen = strlen(srcname);
if (srcname[srclen - 1] != '/')
srcname[srclen++] = '/';
strcpy(tgtname, targetP);
snprintf(tgtname, PATH_MAX, "%s", targetP);
tgtlen = strlen(tgtname);
if (tgtname[tgtlen - 1] != '/')
tgtname[tgtlen++] = '/';