From 46eac3386659066a0a9ca6060a729e927eec7684 Mon Sep 17 00:00:00 2001
From: Lucas Pascal <lpascal@quarkslab.com>
Date: Thu, 13 Apr 2017 08:50:30 +0200
Subject: [PATCH] [fix] requested correction

---
 scapy/layers/sctp.py | 4 ++--
 test/regression.uts  | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/scapy/layers/sctp.py b/scapy/layers/sctp.py
index f20c4b89..94b3f4b3 100644
--- a/scapy/layers/sctp.py
+++ b/scapy/layers/sctp.py
@@ -8,9 +8,9 @@
 SCTP (Stream Control Transmission Protocol).
 """
 
-import os
 import struct
 
+from scapy.volatile import RandBin
 from scapy.config import conf
 from scapy.packet import *
 from scapy.fields import *
@@ -319,7 +319,7 @@ class SCTPChunkParamRandom(_SCTPChunkParam, Packet):
     fields_desc = [ ShortEnumField("type", 0x8002, sctpchunkparamtypes),
                     FieldLenField("len", None, length_of="random",
                                   adjust = lambda pkt,x:x+4),
-                    PadField(StrLenField("random", os.urandom(32),
+                    PadField(StrLenField("random", RandBin(32),
                                          length_from=lambda pkt: pkt.len-4),
                              4, padwith=b"\x00"),]
 
diff --git a/test/regression.uts b/test/regression.uts
index 2dc5fe5d..8de27d32 100644
--- a/test/regression.uts
+++ b/test/regression.uts
@@ -7892,6 +7892,11 @@ assert(p.len == 8)
 assert(p.seq == 0)
 assert(p.params == [])
 
+= SCTPChunkParamRandom - Consecutive calls
+~ sctp
+param1, param2 = SCTPChunkParamRandom(), SCTPChunkParamRandom()
+assert(param1.random != param2.random)
+
 ############
 ############
 + DHCP
-- 
GitLab