From 6096dbf71b16a8c6dbf833e88195d7b21d489bf8 Mon Sep 17 00:00:00 2001
From: Garet Halliday <me@garet.holiday>
Date: Fri, 10 May 2024 19:22:14 -0500
Subject: [PATCH] fix

---
 lib/fed/decoder.go     |  3 +++
 lib/fed/encoder.go     |  3 +++
 lib/gsql/query_test.go | 10 ++++++++--
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/lib/fed/decoder.go b/lib/fed/decoder.go
index db750827..8cafd3a6 100644
--- a/lib/fed/decoder.go
+++ b/lib/fed/decoder.go
@@ -39,6 +39,9 @@ func (T *Decoder) Reset(r io.Reader) {
 }
 
 func (T *Decoder) refill() error {
+	if T.bufferWrite >= len(T.buffer) {
+		return nil
+	}
 	n, err := T.reader.Read(T.buffer[T.bufferWrite:])
 	T.bufferWrite += n
 	return err
diff --git a/lib/fed/encoder.go b/lib/fed/encoder.go
index 6d88d48a..4daf795f 100644
--- a/lib/fed/encoder.go
+++ b/lib/fed/encoder.go
@@ -60,6 +60,9 @@ func (T *Encoder) ReadFrom(r *Decoder) (int, error) {
 }
 
 func (T *Encoder) Flush() error {
+	if T.bufferPos == 0 {
+		return nil
+	}
 	_, err := T.writer.Write(T.buffer[:T.bufferPos])
 	T.bufferPos = 0
 	return err
diff --git a/lib/gsql/query_test.go b/lib/gsql/query_test.go
index d19119e1..3839029d 100644
--- a/lib/gsql/query_test.go
+++ b/lib/gsql/query_test.go
@@ -54,7 +54,10 @@ func TestQuery(t *testing.T) {
 
 	var b flip.Bank
 	b.Queue(func() error {
-		return gsql.ExtendedQuery(inward, &res, "SELECT usename, passwd FROM pg_shadow WHERE usename=$1", "postgres")
+		if err := gsql.ExtendedQuery(inward, &res, "SELECT usename, passwd FROM pg_shadow WHERE usename=$1", "postgres"); err != nil {
+			return err
+		}
+		return nil
 	})
 
 	b.Queue(func() error {
@@ -69,7 +72,10 @@ func TestQuery(t *testing.T) {
 		if serverErr != nil {
 			return serverErr
 		}
-		return outward.Close()
+		if err := outward.Close(); err != nil {
+			return err
+		}
+		return nil
 	})
 
 	if err = b.Wait(); err != nil {
-- 
GitLab