summaryrefslogtreecommitdiffstats
path: root/kexec/arch/i386/x86-linux-setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.c')
-rw-r--r--kexec/arch/i386/x86-linux-setup.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index 057ee146..76e11852 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -232,8 +232,14 @@ static int parse_edd_extensions(const char *dir, struct edd_info *edd_info)
char line[1024];
uint16_t flags = 0;
FILE *fp;
+ int ret;
+
+ ret = snprintf(filename, PATH_MAX, "%s/%s", dir, "extensions");
+ if (ret < 0 || ret >= PATH_MAX) {
+ fprintf(stderr, "snprintf failed: %s\n", strerror(errno));
+ return -1;
+ }
- snprintf(filename, PATH_MAX, "%s/%s", dir, "extensions");
filename[PATH_MAX-1] = 0;
fp = fopen(filename, "r");
@@ -269,8 +275,14 @@ static int read_edd_raw_data(const char *dir, struct edd_info *edd_info)
FILE *fp;
size_t read_chars;
uint16_t len;
+ int ret;
+
+ ret = snprintf(filename, PATH_MAX, "%s/%s", dir, "raw_data");
+ if (ret < 0 || ret >= PATH_MAX) {
+ fprintf(stderr, "snprintf failed: %s\n", strerror(errno));
+ return -1;
+ }
- snprintf(filename, PATH_MAX, "%s/%s", dir, "raw_data");
filename[PATH_MAX-1] = 0;
fp = fopen(filename, "r");