summaryrefslogtreecommitdiff
path: root/gr-blocks/lib
diff options
context:
space:
mode:
authorZackery Spytz <zspytz@gmail.com>2021-01-09 16:41:22 -0700
committerMartin Braun <martin@gnuradio.org>2021-01-11 06:56:38 -0800
commit19c68f10fae2bf5f371f36c383f9cfb13cebee58 (patch)
treed9b0a555fa9d20023f7281c2d764e519cb9bbc92 /gr-blocks/lib
parent74c13b308a3b3dc1196f94fa99a585b5ef0d5629 (diff)
gr-blocks: Check fseek() for failure
Some fseek() calls were not being checked for failure. Signed-off-by: Zackery Spytz <zspytz@gmail.com>
Diffstat (limited to 'gr-blocks/lib')
-rw-r--r--gr-blocks/lib/file_meta_sink_impl.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc
index ff7416aeed..3af51405b2 100644
--- a/gr-blocks/lib/file_meta_sink_impl.cc
+++ b/gr-blocks/lib/file_meta_sink_impl.cc
@@ -299,9 +299,13 @@ void file_meta_sink_impl::update_last_header_inline()
pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE + d_extra_size));
- fseek(d_fp, -seg_size - hdrlen, SEEK_CUR);
+ if (fseek(d_fp, -seg_size - hdrlen, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
write_header(d_fp, d_header, d_extra);
- fseek(d_fp, seg_size, SEEK_CUR);
+ if (fseek(d_fp, seg_size, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
}
void file_meta_sink_impl::update_last_header_detached()
@@ -313,7 +317,9 @@ void file_meta_sink_impl::update_last_header_detached()
pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE + d_extra_size));
- fseek(d_hdr_fp, -hdrlen, SEEK_CUR);
+ if (fseek(d_hdr_fp, -hdrlen, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
write_header(d_hdr_fp, d_header, d_extra);
}