Module Name: src Committed By: martin Date: Tue Aug 3 13:40:33 UTC 2021
Modified Files: src/usr.sbin/sysinst: util.c Log Message: Cleanup alarm(3) handling in the timezone selection menu for error cases, pointed out by RVP. To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 src/usr.sbin/sysinst/util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/sysinst/util.c diff -u src/usr.sbin/sysinst/util.c:1.58 src/usr.sbin/sysinst/util.c:1.59 --- src/usr.sbin/sysinst/util.c:1.58 Tue Jul 20 16:40:12 2021 +++ src/usr.sbin/sysinst/util.c Tue Aug 3 13:40:33 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: util.c,v 1.58 2021/07/20 16:40:12 martin Exp $ */ +/* $NetBSD: util.c,v 1.59 2021/08/03 13:40:33 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -1881,25 +1881,26 @@ set_timezone(void) tzm_set_names, NULL, NULL, "\nPlease consult the install documents.", MSG_exit_menu_generic); - if (menu_no < 0) - goto done; /* error - skip timezone setting */ + if (menu_no >= 0) { + time_menu = menu_no; + process_menu(menu_no, NULL); + time_menu = -1; - time_menu = menu_no; - process_menu(menu_no, NULL); - time_menu = -1; - - free_menu(menu_no); + free_menu(menu_no); + } + alarm(0); signal(SIGALRM, SIG_IGN); - snprintf(localtime_target, sizeof(localtime_target), - "/usr/share/zoneinfo/%s", tz_selected); - strlcpy(localtime_link, target_expand("/etc/localtime"), - sizeof localtime_link); - unlink(localtime_link); - symlink(localtime_target, localtime_link); + if (menu_no >= 0) { + snprintf(localtime_target, sizeof(localtime_target), + "/usr/share/zoneinfo/%s", tz_selected); + strlcpy(localtime_link, target_expand("/etc/localtime"), + sizeof localtime_link); + unlink(localtime_link); + symlink(localtime_target, localtime_link); + } -done: return 1; }