aboutsummaryrefslogtreecommitdiff
path: root/hotline
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-02-05 15:06:22 +0100
committerRuben Beltran del Rio <git@r.bdr.sh>2025-02-05 15:06:22 +0100
commite59041902fbc6fb62b5c9ff8e9b4849d4bf853ea (patch)
treea3dbf0aa409e40011887d00a85cb4c39d848b052 /hotline
parent6d81feb101da689092d3370c1dc55be89e11fd35 (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,
)