diff options
author | Jens Georg <mail@jensge.org> | 2019-10-02 00:01:24 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2019-10-02 00:01:24 +0200 |
commit | 4d02b78b5c897b5087396111f26c48f21e49246e (patch) | |
tree | 4bacde695418e4efc27054691027a2eca1801e93 | |
parent | 02740baa11100e7642717f75d270e921317dec2a (diff) | |
download | rygel-4d02b78b5c897b5087396111f26c48f21e49246e.tar.gz |
engine-simple: Obey lseek return value
Fixes #138
-rw-r--r-- | src/media-engines/simple/rygel-simple-data-source.vala | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/media-engines/simple/rygel-simple-data-source.vala b/src/media-engines/simple/rygel-simple-data-source.vala index f99e3099..1fc74017 100644 --- a/src/media-engines/simple/rygel-simple-data-source.vala +++ b/src/media-engines/simple/rygel-simple-data-source.vala @@ -151,11 +151,19 @@ internal class Rygel.SimpleDataSource : DataSource, Object { if (this.last_byte == 0) { this.last_byte = Posix.lseek (fd, 0, Posix.SEEK_END); - Posix.lseek (fd, 0, Posix.SEEK_SET); + if (this.last_byte < 0) { + throw IOError.from_errno (errno); + } + + if (Posix.lseek (fd, 0, Posix.SEEK_SET) < 0) { + throw IOError.from_errno (errno); + } + } if (this.first_byte != 0) { - Posix.lseek (fd, this.first_byte, Posix.SEEK_SET); + if (Posix.lseek (fd, this.first_byte, Posix.SEEK_SET) < 0) + throw IOError.from_errno (errno); } while (true) { |