Messages in this thread | | | Date | Sat, 15 Apr 2017 22:30:55 -0700 | From | Stefan Agner <> | Subject | Re: [PATCH RESEND] regulator: rn5t618: Fix out of bounds array access |
| |
On 2017-04-15 18:12, Axel Lin wrote: > 2017-04-16 0:53 GMT+08:00 Stefan Agner <stefan@agner.ch>: >> On 2017-04-15 07:52, Axel Lin wrote: >>> The commit "regulator: rn5t618: Add RN5T567 PMIC support" added >>> RN5T618_DCDC4 to the enum, then RN5T618_REG_NUM is also changed. >>> So for rn5t618, there is out of bounds array access when checking >>> regulators[i].name in the for loop. >> >> I use designated initializers ([RN5T618_##rid] = {..), which guarantee >> that the non initialized elements are zero. The highest element LDORTC2 >> is defined, hence the length of the array should be RN5T618_REG_NUM. > > ok, I missed that. Then current code is fine. > Though the meaing of RN5T618_REG_NUM seems misleading to me as different > variant has differnt number of regulators.
Yeah I admit the code is somewhat unobvious as it is now. But it allowed me to add RN5T567 support without changing the existing array and the preprocessor macro.
-- Stefan
| |