diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-05 15:06:22 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-05 15:06:22 +0100 |
| commit | e59041902fbc6fb62b5c9ff8e9b4849d4bf853ea (patch) | |
| tree | a3dbf0aa409e40011887d00a85cb4c39d848b052 /hotline | |
| parent | 6d81feb101da689092d3370c1dc55be89e11fd35 (diff) | |
Account for 16 vs 32 bit integers in folder upload
Diffstat (limited to 'hotline')
| -rw-r--r-- | hotline/server.go | 12 |
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, ) |