@@ -928,9 +928,12 @@ func (c *ControlSyncRequest) GetControlType() string {
928
928
func (c * ControlSyncRequest ) Encode () * ber.Packet {
929
929
_mode := int64 (c .Mode )
930
930
mode := ber .NewInteger (ber .ClassUniversal , ber .TypePrimitive , ber .TagEnumerated , _mode , "Mode" )
931
- cookie := ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Cookie" )
932
- cookie .Value = c .Cookie
933
- cookie .Data .Write (c .Cookie )
931
+ var cookie * ber.Packet
932
+ if len (c .Cookie ) > 0 {
933
+ cookie = ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Cookie" )
934
+ cookie .Value = c .Cookie
935
+ cookie .Data .Write (c .Cookie )
936
+ }
934
937
reloadHint := ber .NewBoolean (ber .ClassUniversal , ber .TypePrimitive , ber .TagBoolean , c .ReloadHint , "Reload Hint" )
935
938
936
939
packet := ber .Encode (ber .ClassUniversal , ber .TypeConstructed , ber .TagSequence , nil , "Control" )
@@ -940,7 +943,9 @@ func (c *ControlSyncRequest) Encode() *ber.Packet {
940
943
val := ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Control Value (Sync Request)" )
941
944
seq := ber .Encode (ber .ClassUniversal , ber .TypeConstructed , ber .TagSequence , nil , "Sync Request Value" )
942
945
seq .AppendChild (mode )
943
- seq .AppendChild (cookie )
946
+ if cookie != nil {
947
+ seq .AppendChild (cookie )
948
+ }
944
949
seq .AppendChild (reloadHint )
945
950
val .AppendChild (seq )
946
951
0 commit comments