EEPROM: Null out buffer after allocation
[libftdi] / src / ftdi.c
index 61b7a75..c9492f5 100644 (file)
@@ -105,6 +105,7 @@ int ftdi_init(struct ftdi_context *ftdi)
 
     if (eeprom == 0)
         ftdi_error_return(-2, "Can't malloc struct ftdi_eeprom");
+    memset(eeprom, 0, sizeof(struct ftdi_eeprom);
     ftdi->eeprom = eeprom;
 
     /* All fine. Now allocate the readbuffer */
@@ -2586,6 +2587,11 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi)
         else
             output[0x01] &= ~SUSPEND_DBUS7;
         
+        if (eeprom->suspend_pull_downs == 1)
+            output[0x0A] |= 0x4;
+        else
+            output[0x0A] &= ~0x4;
+
         if(eeprom->group0_drive > DRIVE_16MA)
             output[0x0c] |= DRIVE_16MA;
         else