diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 13:08:20 +1000 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 13:08:20 +1000 |
commit | 6a6efd31038d7afe977e3059508ae863e65cbdf5 (patch) | |
tree | 5cd69a751e893b83176751c80fcea7a7afeed1ae /debianutils | |
parent | a6a2325ecf402054132daae169f71edb0fb849e3 (diff) | |
parent | 29082231d0cb1a5b327de5d515b16f332d4dbdaf (diff) | |
download | busybox-w32-6a6efd31038d7afe977e3059508ae863e65cbdf5.tar.gz busybox-w32-6a6efd31038d7afe977e3059508ae863e65cbdf5.tar.bz2 busybox-w32-6a6efd31038d7afe977e3059508ae863e65cbdf5.zip |
Merge branch 'origin/master' (early part)
Diffstat (limited to 'debianutils')
-rw-r--r-- | debianutils/mktemp.c | 3 | ||||
-rw-r--r-- | debianutils/start_stop_daemon.c | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/debianutils/mktemp.c b/debianutils/mktemp.c index c40211476..2c4e19670 100644 --- a/debianutils/mktemp.c +++ b/debianutils/mktemp.c | |||
@@ -50,7 +50,8 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv) | |||
50 | opts = getopt32(argv, "dqtp:", &path); | 50 | opts = getopt32(argv, "dqtp:", &path); |
51 | 51 | ||
52 | chp = argv[optind] ? argv[optind] : xstrdup("tmp.XXXXXX"); | 52 | chp = argv[optind] ? argv[optind] : xstrdup("tmp.XXXXXX"); |
53 | chp = concat_path_file(path, chp); | 53 | if (chp[0] != '/' || (opts & 8)) |
54 | chp = concat_path_file(path, chp); | ||
54 | 55 | ||
55 | if (opts & 1) { /* -d */ | 56 | if (opts & 1) { /* -d */ |
56 | if (mkdtemp(chp) == NULL) | 57 | if (mkdtemp(chp) == NULL) |
diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c index 0a0802575..665f38fbd 100644 --- a/debianutils/start_stop_daemon.c +++ b/debianutils/start_stop_daemon.c | |||
@@ -409,9 +409,7 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv) | |||
409 | /* DAEMON_DEVNULL_STDIO is superfluous - | 409 | /* DAEMON_DEVNULL_STDIO is superfluous - |
410 | * it's always done by bb_daemonize() */ | 410 | * it's always done by bb_daemonize() */ |
411 | #else | 411 | #else |
412 | pid_t pid = vfork(); | 412 | pid_t pid = xvfork(); |
413 | if (pid < 0) /* error */ | ||
414 | bb_perror_msg_and_die("vfork"); | ||
415 | if (pid != 0) { | 413 | if (pid != 0) { |
416 | /* parent */ | 414 | /* parent */ |
417 | /* why _exit? the child may have changed the stack, | 415 | /* why _exit? the child may have changed the stack, |
@@ -448,5 +446,5 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv) | |||
448 | } | 446 | } |
449 | #endif | 447 | #endif |
450 | execvp(startas, argv); | 448 | execvp(startas, argv); |
451 | bb_perror_msg_and_die("can't start %s", startas); | 449 | bb_perror_msg_and_die("can't execute '%s'", startas); |
452 | } | 450 | } |