Module Name:    src
Committed By:   mlelstv
Date:           Mon Jan 14 12:23:53 UTC 2019

Modified Files:
        src/sys/dev/fdt: fdt_pinctrl.c

Log Message:
Fix infinite loop like in fdtbus_get_string_index.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/fdt/fdt_pinctrl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/fdt/fdt_pinctrl.c
diff -u src/sys/dev/fdt/fdt_pinctrl.c:1.5 src/sys/dev/fdt/fdt_pinctrl.c:1.6
--- src/sys/dev/fdt/fdt_pinctrl.c:1.5	Sat Jun 30 20:34:43 2018
+++ src/sys/dev/fdt/fdt_pinctrl.c	Mon Jan 14 12:23:53 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: fdt_pinctrl.c,v 1.5 2018/06/30 20:34:43 jmcneill Exp $ */
+/* $NetBSD: fdt_pinctrl.c,v 1.6 2019/01/14 12:23:53 mlelstv Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <jmcne...@invisible.ca>
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdt_pinctrl.c,v 1.5 2018/06/30 20:34:43 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdt_pinctrl.c,v 1.6 2019/01/14 12:23:53 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -125,7 +125,7 @@ fdtbus_pinctrl_set_config(int phandle, c
 	pinctrl_names = fdtbus_get_string(phandle, "pinctrl-names");
 
 	for (name = pinctrl_names, index = 0; len > 0;
-	     name += strlen(name) + 1, index++) {
+	     len -= strlen(name) + 1, name += strlen(name) + 1, index++) {
 		if (strcmp(name, cfgname) == 0)
 			return fdtbus_pinctrl_set_config_index(phandle, index);
 	}

Reply via email to