← Commit list

40b8dc410

Mike Frysinger
Mike Frysinger
2009-03-29
FAILED Duration: 32s

Subject

use bb_strtou() in umask/wait and check errno to see if there was a problem rather than using endp

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+4 -7
@@ -4892,12 +4892,10 @@ static int builtin_umask(char **argv)
{
mode_t new_umask;
const char *arg = argv[1];
- char *end;
if (arg) {
- new_umask = strtoul(arg, &end, 8);
- if (*end != '\0' || end == arg) {
+ new_umask = bb_strtou(arg, NULL, 8);
+ if (errno)
return EXIT_FAILURE;
- }
} else {
new_umask = umask(0);
printf("%.3o\n", (unsigned) new_umask);
@@ -4924,9 +4922,8 @@ static int builtin_wait(char **argv)
wait(&status);
while (argv[1]) {
- char *endp;
- pid_t pid = bb_strtou(argv[1], &endp, 10);
- if (*endp) {
+ pid_t pid = bb_strtou(argv[1], NULL, 10);
+ if (errno) {
bb_perror_msg("wait %s", argv[1]);
return EXIT_FAILURE;
} else if (waitpid(pid, &status, 0) == pid) {