diff options
author | Zackery Spytz <zspytz@gmail.com> | 2021-01-09 16:41:22 -0700 |
---|---|---|
committer | Martin Braun <martin@gnuradio.org> | 2021-01-11 06:56:38 -0800 |
commit | 19c68f10fae2bf5f371f36c383f9cfb13cebee58 (patch) | |
tree | d9b0a555fa9d20023f7281c2d764e519cb9bbc92 /gr-blocks/lib | |
parent | 74c13b308a3b3dc1196f94fa99a585b5ef0d5629 (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.cc | 12 |
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); } |