MATLAB Answers

INPUTS AND STUBBING: INIT GLOBAL VARIABLES THROUGH CONSTRAIN_SETUP

2 views (last 30 days)
Tran Thang
Tran Thang on 1 Jun 2021
Commented: Anirban on 18 Jun 2021
How to init global variables with specific size by Input + Stubbing?
I have tried to do it through constrain setup, but i seems not work. The orange warning still happend after i init for ponter input.
here is my config, please help me if you can.
Sincerely,

Accepted Answer

Anirban
Anirban on 8 Jun 2021
Edited: Anirban on 8 Jun 2021
You initialized argument 1 of function Bcd_copysignal with the following constraints:
  • The pointer is not NULL.
  • The pointer is actually an array with multiple elements.
  • The array has max elements.
Assuming ult_ArDstSignalData is that argument 1, your expectation is that the array ult_ArDstSignalData should be accessible at any index. This expectation seems to be correct. Can you show the message that you see for the Illegally dereferenced pointer warning that occurs on line 994?
Also, do you have any warnings in the analysis log that contains the text data-range-specifications?
  4 Comments
Anirban
Anirban on 18 Jun 2021
I cannot give a definitive answer without looking at the function call hierarchy. You can track the error call graph that leads to a given check. See Result Details.
Let us say that one of the paths that leads to the check contains the calls main -> func1 -> func2. Now, you can check whether the pointer is written explictly in the code in any of these functions (and the write operation occurs on an execution path before the check). These explicit writes will override external constraints. If the check occurs after that point, then the DRS no longer applies and will not work.
But this investigation will take some work, and I cannot give a more precise answer based on the screenshot.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by