From 974ea3420b18a2f70eda89ba729cb8497985c2ac Mon Sep 17 00:00:00 2001
From: Axel Kohlmeyer <akohlmey@gmail.com>
Date: Fri, 4 May 2018 21:45:17 -0400
Subject: [PATCH] replace variable length array in fix drude/transform with
 new/delete

---
 src/USER-DRUDE/fix_drude_transform.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/USER-DRUDE/fix_drude_transform.cpp b/src/USER-DRUDE/fix_drude_transform.cpp
index 29c1ff8821..bdb5d95acc 100644
--- a/src/USER-DRUDE/fix_drude_transform.cpp
+++ b/src/USER-DRUDE/fix_drude_transform.cpp
@@ -75,7 +75,7 @@ void FixDrudeTransform<inverse>::setup(int) {
 
   if (!rmass) {
     if (!mcoeff) mcoeff = new double[ntypes+1];
-    double mcoeff_loc[ntypes+1];
+    double *mcoeff_loc = new double[ntypes+1];
     for (int itype=0; itype<=ntypes; itype++) mcoeff_loc[itype] = 2.; // an impossible value: mcoeff is at most 1.
     for (int i=0; i<nlocal; i++) {
       if (drudetype[type[i]] == DRUDE_TYPE) {
@@ -95,6 +95,7 @@ void FixDrudeTransform<inverse>::setup(int) {
     // mcoeff is 2 for non polarizable
     // 0 < mcoeff < 1 for drude
     // mcoeff < 0 for core
+    delete[] mcoeff_loc;
   }
 }
 
-- 
GitLab