From 19c68f10fae2bf5f371f36c383f9cfb13cebee58 Mon Sep 17 00:00:00 2001 From: Zackery Spytz <zspytz@gmail.com> Date: Sat, 9 Jan 2021 16:41:22 -0700 Subject: gr-blocks: Check fseek() for failure Some fseek() calls were not being checked for failure. Signed-off-by: Zackery Spytz <zspytz@gmail.com> --- gr-blocks/lib/file_meta_sink_impl.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gr-blocks/lib/file_meta_sink_impl.cc') 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); } -- cgit v1.2.3