File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -515,10 +515,18 @@ func (device *Device) RoutineEncryption() {
515515 // pad content to multiple of 16
516516
517517 mtu := int (atomic .LoadInt32 (& device .tun .mtu ))
518- lastUnit := len (elem .packet ) % mtu
519- paddedSize := (lastUnit + PaddingMultiple - 1 ) & ^ (PaddingMultiple - 1 )
520- if paddedSize > mtu {
521- paddedSize = mtu
518+ var paddedSize int
519+ if mtu == 0 {
520+ paddedSize = (len (elem .packet ) + PaddingMultiple - 1 ) & ^ (PaddingMultiple - 1 )
521+ } else {
522+ lastUnit := len (elem .packet )
523+ if lastUnit > mtu {
524+ lastUnit %= mtu
525+ }
526+ paddedSize := (lastUnit + PaddingMultiple - 1 ) & ^ (PaddingMultiple - 1 )
527+ if paddedSize > mtu {
528+ paddedSize = mtu
529+ }
522530 }
523531 for i := len (elem .packet ); i < paddedSize ; i ++ {
524532 elem .packet = append (elem .packet , 0 )
You can’t perform that action at this time.
0 commit comments