Skip to content

Commit f5c3373

Browse files
authored
fix use of potentially uninitialized data
1 parent 44569b9 commit f5c3373

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/hal/drivers/mesa-hostmot2/pwmgen.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,8 @@ void hm2_pwmgen_force_write(hostmot2_t *hm2) {
292292
for (i = 0; i < hm2->pwmgen.num_instances; i ++) {
293293
hm2->pwmgen.instance[i].written_output_type = *hm2->pwmgen.instance[i].hal.param.output_type;
294294
hm2->pwmgen.instance[i].written_offset_mode = *hm2->pwmgen.instance[i].hal.param.offset_mode;
295-
hm2->pwmgen.instance[i].written_dither = *hm2->pwmgen.instance[i].hal.param.dither;
295+
if (hm2->pwmgen.instance[i].hal.param.dither)
296+
hm2->pwmgen.instance[i].written_dither = *hm2->pwmgen.instance[i].hal.param.dither;
296297
hm2->pwmgen.instance[i].written_enable = *hm2->pwmgen.instance[i].hal.pin.enable;
297298
}
298299

@@ -327,7 +328,8 @@ void hm2_pwmgen_write(hostmot2_t *hm2) {
327328

328329
// update dither?
329330
for (i = 0; i < hm2->pwmgen.num_instances; i ++) {
330-
if (*hm2->pwmgen.instance[i].hal.param.dither != hm2->pwmgen.instance[i].written_dither) {
331+
if (hm2->pwmgen.instance[i].hal.param.dither &&
332+
*hm2->pwmgen.instance[i].hal.param.dither != hm2->pwmgen.instance[i].written_dither) {
331333
goto force_write;
332334
}
333335

@@ -512,6 +514,7 @@ int hm2_pwmgen_parse_md(hostmot2_t *hm2, int md_index) {
512514
HM2_ERR("error adding param '%s', aborting\n", name);
513515
goto fail1;
514516
}
517+
*(hm2->pwmgen.instance[i].hal.param.dither) = 0;
515518
}
516519
rtapi_snprintf(name, sizeof(name), "%s.pwmgen.%02d.scale", hm2->llio->name, i);
517520
r = hal_pin_float_new(name, HAL_OUT, &(hm2->pwmgen.instance[i].hal.param.scale), hm2->llio->comp_id);
@@ -536,7 +539,6 @@ int hm2_pwmgen_parse_md(hostmot2_t *hm2, int md_index) {
536539
// init hal objects
537540
*(hm2->pwmgen.instance[i].hal.pin.enable) = 0;
538541
*(hm2->pwmgen.instance[i].hal.pin.value) = 0.0;
539-
*(hm2->pwmgen.instance[i].hal.param.dither) = 0;
540542
*(hm2->pwmgen.instance[i].hal.param.scale) = 1.0;
541543
*(hm2->pwmgen.instance[i].hal.param.offset_mode) = 0;
542544
*(hm2->pwmgen.instance[i].hal.param.output_type) = HM2_PWMGEN_OUTPUT_TYPE_PWM;

0 commit comments

Comments
 (0)