aboutsummaryrefslogtreecommitdiff
path: root/decoder/tests/source/mem_buff_demo.cpp
diff options
context:
space:
mode:
authorRuslan Bukin <br@FreeBSD.org>2023-03-27 15:14:10 +0000
committerRuslan Bukin <br@FreeBSD.org>2023-03-27 15:23:28 +0000
commit974000f192f9f74654b8835361cf35e606a10a76 (patch)
treec3aabe2b3d219cca63f0b426a2098bcdf9e9ac65 /decoder/tests/source/mem_buff_demo.cpp
parentd7aa8d0a1f110421252d79f5acfb72d89187ad1f (diff)
Diffstat (limited to 'decoder/tests/source/mem_buff_demo.cpp')
-rw-r--r--decoder/tests/source/mem_buff_demo.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/decoder/tests/source/mem_buff_demo.cpp b/decoder/tests/source/mem_buff_demo.cpp
index cacc227e941f..052870fd3e56 100644
--- a/decoder/tests/source/mem_buff_demo.cpp
+++ b/decoder/tests/source/mem_buff_demo.cpp
@@ -126,6 +126,7 @@ static int initDataBuffers()
FILE *fp;
std::string filename;
long size;
+ size_t bytes_read;
/* the file names to create the data buffers */
#ifdef _WIN32
@@ -158,8 +159,10 @@ static int initDataBuffers()
return OCSD_ERR_MEM;
}
rewind(fp);
- fread(input_trace_data, 1, input_trace_data_size, fp);
+ bytes_read = fread(input_trace_data, 1, input_trace_data_size, fp);
fclose(fp);
+ if (bytes_read < (size_t)input_trace_data_size)
+ return OCSD_ERR_FILE_ERROR;
/* load up a memory image */
filename = default_base_snapshot_path;
@@ -178,8 +181,10 @@ static int initDataBuffers()
return OCSD_ERR_MEM;
}
rewind(fp);
- fread(program_image_buffer, 1, program_image_size, fp);
+ bytes_read = fread(program_image_buffer, 1, program_image_size, fp);
fclose(fp);
+ if (bytes_read < (size_t)program_image_size)
+ return OCSD_ERR_FILE_ERROR;
program_image_address = mem_dump_address;
return OCSD_OK;
}