You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
c_add_message(NULL,-1,ErrorType_symbolic,ErrorLevel_internal,"BackendDAEEXT.getAssignment failed because n=%s>arrayLength(ass1)=%s or m=%s>arrayLength(ass2)=%s",tokens,4);
157
+
if (n > len1) {
158
+
failBecauseLength("BackendDAEEXT.getAssignment", "n", n, "arrayLength(ass1)", len1);
159
+
MMC_THROW();
160
+
}
161
+
if (m > len2) {
162
+
failBecauseLength("BackendDAEEXT.getAssignment", "m", m, "arrayLength(ass2)", len2);
156
163
MMC_THROW();
157
164
}
158
165
if (match != NULL) {
@@ -181,6 +188,10 @@ extern int BackendDAEEXT_setAssignment(int lenass1, int lenass2, modelica_metaty
181
188
nelts = MMC_HDRSLOTS(MMC_GETHDR(ass1));
182
189
if (nelts > 0) {
183
190
n = lenass1;
191
+
if (n > nelts) {
192
+
failBecauseLength("BackendDAEEXT.setAssignment", "n", n, "arrayLength(ass1)", nelts);
193
+
return0;
194
+
}
184
195
if(match) {
185
196
free(match);
186
197
}
@@ -193,6 +204,10 @@ extern int BackendDAEEXT_setAssignment(int lenass1, int lenass2, modelica_metaty
193
204
nelts = MMC_HDRSLOTS(MMC_GETHDR(ass2));
194
205
if (nelts > 0) {
195
206
m = lenass2;
207
+
if (m > nelts) {
208
+
failBecauseLength("BackendDAEEXT.setAssignment", "m", m, "arrayLength(ass2)", nelts);
0 commit comments