flockc: segfaults when file name is not given

$ flock -s
Segmentation fault

ltrace:
__libc_start_main(0x8048870, 2, 0xbfe9f404, 0x8049070, 0x8049060 <unfinished ...>
getopt_long(2, 0xbfe9f404, "+sexnouw:hV?", 0x80494e0, 0xbfe9f354) = 115
getopt_long(2, 0xbfe9f404, "+sexnouw:hV?", 0x80494e0, 0xbfe9f354) = -1
strtol(0, 0xbfe9f34c, 10, 0x80494e0, 0xbfe9f354 <unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

Addresses-Red-Had-Bugzilla: #489672
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2009-03-11 12:49:50 +01:00
parent dcb54fafb1
commit 841f86dbc2
1 changed files with 8 additions and 1 deletions

View File

@ -217,7 +217,7 @@ int main(int argc, char *argv[])
EX_NOINPUT);
}
} else {
} else if (optind < argc) {
/* Use provided file descriptor */
fd = (int)strtol(argv[optind], &eon, 10);
@ -226,8 +226,15 @@ int main(int argc, char *argv[])
exit(EX_USAGE);
}
} else {
/* Bad options */
fprintf(stderr, "%s: requires file descriptor, file or directory\n",
program);
exit(EX_USAGE);
}
if ( have_timeout ) {
if ( timeout.it_value.tv_sec == 0 &&
timeout.it_value.tv_usec == 0 ) {