aboutsummaryrefslogtreecommitdiffstats
path: root/src/fcopy/main.c
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2016-11-18 09:11:30 -0500
committerLibravatar netblue30 <netblue30@yahoo.com>2016-11-18 09:11:30 -0500
commit8c2b460d143d8dda4a86b826c0920918aa15f1f7 (patch)
treeeae4c3a6f4805f0940e487299ccad8804665c843 /src/fcopy/main.c
parenttesting appimage (diff)
downloadfirejail-8c2b460d143d8dda4a86b826c0920918aa15f1f7.tar.gz
firejail-8c2b460d143d8dda4a86b826c0920918aa15f1f7.tar.zst
firejail-8c2b460d143d8dda4a86b826c0920918aa15f1f7.zip
fcopy part 4
Diffstat (limited to 'src/fcopy/main.c')
-rw-r--r--src/fcopy/main.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/fcopy/main.c b/src/fcopy/main.c
index 56d297c9a..e3a04a515 100644
--- a/src/fcopy/main.c
+++ b/src/fcopy/main.c
@@ -244,7 +244,7 @@ static void duplicate_file(const char *src, const char *dest, struct stat *s) {
244} 244}
245 245
246static void duplicate_link(const char *src, const char *dest, struct stat *s) { 246static void duplicate_link(const char *src, const char *dest, struct stat *s) {
247 char *rsrc = check(src); 247 char *rsrc = check(src); // we drop the result and use the original name
248 char *rdest = check(dest); 248 char *rdest = check(dest);
249 uid_t uid = s->st_uid; 249 uid_t uid = s->st_uid;
250 gid_t gid = s->st_gid; 250 gid_t gid = s->st_gid;
@@ -252,7 +252,8 @@ static void duplicate_link(const char *src, const char *dest, struct stat *s) {
252 252
253 // build destination file name 253 // build destination file name
254 char *name; 254 char *name;
255 char *ptr = strrchr(rsrc, '/'); 255// char *ptr = strrchr(rsrc, '/');
256 char *ptr = strrchr(src, '/');
256 ptr++; 257 ptr++;
257 if (asprintf(&name, "%s/%s", rdest, ptr) == -1) 258 if (asprintf(&name, "%s/%s", rdest, ptr) == -1)
258 errExit("asprintf"); 259 errExit("asprintf");
@@ -272,7 +273,7 @@ static void usage(void) {
272} 273}
273 274
274int main(int argc, char **argv) { 275int main(int argc, char **argv) {
275//#if 0 276#if 0
276{ 277{
277//system("cat /proc/self/status"); 278//system("cat /proc/self/status");
278int i; 279int i;
@@ -280,7 +281,7 @@ for (i = 0; i < argc; i++)
280 printf("*%s* ", argv[i]); 281 printf("*%s* ", argv[i]);
281printf("\n"); 282printf("\n");
282} 283}
283//#endif 284#endif
284 if (argc != 3) { 285 if (argc != 3) {
285 fprintf(stderr, "Error fcopy: files missing\n"); 286 fprintf(stderr, "Error fcopy: files missing\n");
286 usage(); 287 usage();