Merge "sdm: Fix memory leak in connector modes"
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h
index 5dc5e4b..ca2f6ff 100644
--- a/libdrmutils/drm_interface.h
+++ b/libdrmutils/drm_interface.h
@@ -407,8 +407,7 @@
   uint32_t mmWidth;
   uint32_t mmHeight;
   uint32_t type;
-  uint32_t num_modes;
-  drmModeModeInfo *modes;
+  std::vector<drmModeModeInfo> modes;
   DRMTopology topology;
   std::string panel_name;
   DRMPanelMode panel_mode;
diff --git a/sdm/libs/core/drm/hw_tv_drm.cpp b/sdm/libs/core/drm/hw_tv_drm.cpp
index 0262915..67485f1 100644
--- a/sdm/libs/core/drm/hw_tv_drm.cpp
+++ b/sdm/libs/core/drm/hw_tv_drm.cpp
@@ -104,7 +104,7 @@
 }
 
 DisplayError HWTVDRM::GetNumDisplayAttributes(uint32_t *count) {
-  *count = connector_info_.num_modes;
+  *count = UINT32(connector_info_.modes.size());
   if (*count <= 0) {
     return kErrorHardware;
   }
@@ -118,7 +118,7 @@
 }
 
 DisplayError HWTVDRM::SetDisplayAttributes(uint32_t index) {
-  if (index >= connector_info_.num_modes) {
+  if (index >= connector_info_.modes.size()) {
     return kErrorNotSupported;
   }
 
@@ -162,7 +162,7 @@
     format = UINT32(stoi(str4.substr(str4.find(':') + 1)));
   }
 
-  for (size_t idex = 0; idex < connector_info_.num_modes; idex ++) {
+  for (size_t idex = 0; idex < connector_info_.modes.size(); idex ++) {
     if ((height == connector_info_.modes[idex].vdisplay) &&
         (width == connector_info_.modes[idex].hdisplay) &&
         (fps == connector_info_.modes[idex].vrefresh)) {
diff --git a/sdm/libs/core/drm/hw_virtual_drm.cpp b/sdm/libs/core/drm/hw_virtual_drm.cpp
index 8513e82..5ea76b0 100644
--- a/sdm/libs/core/drm/hw_virtual_drm.cpp
+++ b/sdm/libs/core/drm/hw_virtual_drm.cpp
@@ -121,7 +121,7 @@
 }
 
 void HWVirtualDRM::DumpConfigs() {
-  for (uint32_t i = 0; i < (uint32_t)connector_info_.num_modes; i++) {
+  for (uint32_t i = 0; i < (uint32_t)connector_info_.modes.size(); i++) {
   DLOGI(
     "Name: %s\tvref: %d\thdisp: %d\t hsync_s: %d\thsync_e:%d\thtotal: %d\t"
     "vdisp: %d\tvsync_s: %d\tvsync_e: %d\tvtotal: %d\n",