Fix bugs appearing from fuzzing.
diff --git a/generator/sections/gen-section-cxl-protocol.c b/generator/sections/gen-section-cxl-protocol.c
index 64326f9..85457ce 100644
--- a/generator/sections/gen-section-cxl-protocol.c
+++ b/generator/sections/gen-section-cxl-protocol.c
@@ -45,6 +45,13 @@
     reserved = (UINT32*)(bytes + 112);
     *reserved = 0; //Reserved bytes 112-115.
 
+    //If the device is a host downstream port, serial/capability structure is invalid.
+    if (cxl_agent_type != 0)
+    {
+        for (int i=0; i<68; i++)
+            *(bytes + 40 + i) = 0; //Device serial & capability structure.
+    }
+
     //Set expected values.
     UINT16* dvsec_length_field = (UINT16*)(bytes + 108);
     UINT16* error_log_len_field = (UINT16*)(bytes + 110);