summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2019-10-02 00:01:24 +0200
committerJens Georg <mail@jensge.org>2019-10-02 00:01:24 +0200
commit4d02b78b5c897b5087396111f26c48f21e49246e (patch)
tree4bacde695418e4efc27054691027a2eca1801e93
parent02740baa11100e7642717f75d270e921317dec2a (diff)
downloadrygel-4d02b78b5c897b5087396111f26c48f21e49246e.tar.gz
engine-simple: Obey lseek return value
Fixes #138
-rw-r--r--src/media-engines/simple/rygel-simple-data-source.vala12
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) {