chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
path_lookup: moved _cleanup_lookup_paths_free_ from install.c to path-lookup.h
[elogind.git]
/
src
/
shared
/
acpi-fpdt.c
diff --git
a/src/shared/acpi-fpdt.c
b/src/shared/acpi-fpdt.c
index a7c83ed8555987bb3b3dfa4dece2b182763a0969..75648b4d86f91af3a4327c11232d2630c91da6c3 100644
(file)
--- a/
src/shared/acpi-fpdt.c
+++ b/
src/shared/acpi-fpdt.c
@@
-81,7
+81,7
@@
struct acpi_fpdt_boot {
};
int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
};
int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
- _cleanup_free_ char *buf;
+ _cleanup_free_ char *buf
= NULL
;
struct acpi_table_header *tbl;
size_t l;
struct acpi_fpdt_header *rec;
struct acpi_table_header *tbl;
size_t l;
struct acpi_fpdt_header *rec;
@@
-146,6
+146,11
@@
int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
if (brec.type != ACPI_FPDT_BOOT_REC)
return -EINVAL;
if (brec.type != ACPI_FPDT_BOOT_REC)
return -EINVAL;
+ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start)
+ return -EINVAL;
+ if (brec.exit_services_exit > NSEC_PER_HOUR)
+ return -EINVAL;
+
if (loader_start)
*loader_start = brec.startup_start / 1000;
if (loader_exit)
if (loader_start)
*loader_start = brec.startup_start / 1000;
if (loader_exit)