aboutsummaryrefslogtreecommitdiff
path: root/hotline
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-02-05 15:06:22 +0100
committerJeff Halter <868228+jhalter@users.noreply.github.com>2025-02-06 13:25:26 -0800
commit3f9221420a57b0b7534a0877925e363855274b1a (patch)
tree8663a7e9c7a3ad508bcee5c797713f3429709d12 /hotline
parentfe1cce153b572ba215318c6ccd349cde3d7b7619 (diff)
Account for 16 vs 32 bit integers in folder upload
Diffstat (limited to 'hotline')
-rw-r--r--hotline/server.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/hotline/server.go b/hotline/server.go
index ed3c041..a521a6b 100644
--- a/hotline/server.go
+++ b/hotline/server.go
@@ -603,10 +603,20 @@ func (s *Server) handleFileTransfer(ctx context.Context, rwc io.ReadWriter) erro
s.Stats.Decrement(StatUploadsInProgress)
}()
+ var transferSizeValue uint32
+ switch len(fileTransfer.TransferSize) {
+ case 2: // 16-bit
+ transferSizeValue = uint32(binary.BigEndian.Uint16(fileTransfer.TransferSize))
+ case 4: // 32-bit
+ transferSizeValue = binary.BigEndian.Uint32(fileTransfer.TransferSize)
+ default:
+ rLogger.Warn("Unexpected TransferSize length: %d bytes", len(fileTransfer.TransferSize))
+ }
+
rLogger.Info(
"Folder upload started",
"dstPath", fullPath,
- "TransferSize", binary.BigEndian.Uint32(fileTransfer.TransferSize),
+ "TransferSize", transferSizeValue,
"FolderItemCount", fileTransfer.FolderItemCount,
)