Fix the return value of fwscanf(3) when encountering an early matching
authorkevlo <kevlo@openbsd.org>
Fri, 8 Dec 2017 01:03:51 +0000 (01:03 +0000)
committerkevlo <kevlo@openbsd.org>
Fri, 8 Dec 2017 01:03:51 +0000 (01:03 +0000)
failure.  This change brings fwscanf(3) back in line with fscanf(3).

From FreeBSD; ok deraadt@, millert@

lib/libc/stdio/vfwscanf.c

index 7827244..8cb83f6 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: vfwscanf.c,v 1.6 2016/10/30 05:07:06 jsg Exp $ */
+/*     $OpenBSD: vfwscanf.c,v 1.7 2017/12/08 01:03:51 kevlo Exp $ */
 /*-
  * Copyright (c) 1990, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -165,7 +165,7 @@ literal:
                                goto input_failure;
                        if (wi != c) {
                                __ungetwc(wi, fp);
-                               goto input_failure;
+                               goto match_failure;
                        }
                        nread++;
                        continue;