src/server/plugins/postgresql/vfs.c

branch
webdav
changeset 382
9e2289c77b04
parent 379
4e2cb3adc0f2
child 387
f5caf41b4db6
--- a/src/server/plugins/postgresql/vfs.c	Sat Aug 27 11:57:27 2022 +0200
+++ b/src/server/plugins/postgresql/vfs.c	Thu Sep 08 17:34:16 2022 +0200
@@ -812,18 +812,21 @@
 ssize_t pg_vfs_io_read(SYS_FILE fd, void *buf, size_t nbyte) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     return lo_read(pgvfs->connection, pg->fd, buf, nbyte);
 }
 
 ssize_t pg_vfs_io_write(SYS_FILE fd, const void *buf, size_t nbyte) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     return lo_write(pgvfs->connection, pg->fd, buf, nbyte);
 }
 
 ssize_t pg_vfs_io_pread(SYS_FILE fd, void *buf, size_t nbyte, off_t offset) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     if(lo_lseek64(pgvfs->connection, pg->fd, offset, SEEK_SET) == -1) {
         return -1;
     }
@@ -833,6 +836,7 @@
 ssize_t pg_vfs_io_pwrite(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     if(lo_lseek64(pgvfs->connection, pg->fd, offset, SEEK_SET) == -1) {
         return -1;
     }
@@ -842,12 +846,14 @@
 off_t pg_vfs_io_seek(SYS_FILE fd, off_t offset, int whence) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     return lo_lseek64(pgvfs->connection, pg->fd, offset, whence);
 }
 
 off_t pg_vfs_io_tell(SYS_FILE fd) {
     PgVFS *pgvfs = fd->ctx->vfs->instance;
     PgFile *pg = fd->data;
+    if(pg->fd < 0) return-1;
     return lo_tell64(pgvfs->connection, pg->fd);
 }
 

mercurial