re: watchdog: Convert wm831x driver to watchdog core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark,

Smatch complains about 21cef54c0b1 "watchdog: Convert wm831x driver
to watchdog core"

drivers/watchdog/wm831x_wdt.c +159 wm831x_wdt_set_timeout(17)
	error: buffer overflow 'wm831x_wdt_cfgs' 7 <= 7

   142  static int wm831x_wdt_set_timeout(struct watchdog_device *wdt_dev,
   143                                    unsigned int timeout)
   144  {
   145          struct wm831x_wdt_drvdata *driver_data = watchdog_get_drvdata(wdt_dev);
   146          struct wm831x *wm831x = driver_data->wm831x;
   147          int ret, i;
   148  
   149          for (i = 0; i < ARRAY_SIZE(wm831x_wdt_cfgs); i++)
   150                  if (wm831x_wdt_cfgs[i].time == timeout)
   151                          break;
   152          if (i == ARRAY_SIZE(wm831x_wdt_cfgs))
   153                  ret = -EINVAL;
                        ^^^^^^^^^^^^^^

We overwrite this return value on the next line.  I don't know the
code well enough to say if the intent was to return directly or to
unlock first and then return.

   154  
   155          ret = wm831x_reg_unlock(wm831x);

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux