Fix checking of lecture status.
This commit is contained in:
@@ -503,20 +503,21 @@ done:
|
|||||||
bool
|
bool
|
||||||
already_lectured(int unused)
|
already_lectured(int unused)
|
||||||
{
|
{
|
||||||
char lecture_status[PATH_MAX];
|
char status_file[PATH_MAX];
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
int len;
|
int len;
|
||||||
debug_decl(already_lectured, SUDO_DEBUG_AUTH)
|
debug_decl(already_lectured, SUDO_DEBUG_AUTH)
|
||||||
|
|
||||||
len = snprintf(lecture_status, sizeof(lecture_status), "%s/%s",
|
if (ts_secure_dir(def_lecture_status_dir, false)) {
|
||||||
def_lecture_status_dir, user_name);
|
len = snprintf(status_file, sizeof(status_file), "%s/%s",
|
||||||
if (len <= 0 || (size_t)len >= sizeof(lecture_status)) {
|
|
||||||
log_fatal(0, N_("lecture status path too long: %s/%s"),
|
|
||||||
def_lecture_status_dir, user_name);
|
def_lecture_status_dir, user_name);
|
||||||
|
if (len <= 0 || (size_t)len >= sizeof(status_file)) {
|
||||||
|
log_fatal(0, N_("lecture status path too long: %s/%s"),
|
||||||
|
def_lecture_status_dir, user_name);
|
||||||
|
}
|
||||||
|
debug_return_bool(stat(status_file, &sb) == 0);
|
||||||
}
|
}
|
||||||
|
debug_return_bool(false);
|
||||||
debug_return_bool(ts_secure_dir(def_lecture_status_dir, false) &&
|
|
||||||
stat(lecture_status, &sb) == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user