inet_pton returns 0 and -1 for error.
authorflorian <florian@openbsd.org>
Thu, 22 Aug 2024 08:17:54 +0000 (08:17 +0000)
committerflorian <florian@openbsd.org>
Thu, 22 Aug 2024 08:17:54 +0000 (08:17 +0000)
Adjust the error check that is now wrong after the inet_aton -> inet_pton
conversion.

Noticed by & OK bluhm.
OK tb

usr.sbin/bgpctl/parser.c
usr.sbin/bgpd/parse.y
usr.sbin/eigrpd/parse.y
usr.sbin/ldpd/parse.y

index ee86917..e35a952 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parser.c,v 1.136 2024/08/21 09:17:05 florian Exp $ */
+/*     $OpenBSD: parser.c,v 1.137 2024/08/22 08:17:54 florian Exp $ */
 
 /*
  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -1325,7 +1325,7 @@ parseextvalue(int type, char *s, uint32_t *v, uint32_t *flag)
                *v = uval | (uvalh << 16);
                break;
        case EXT_COMMUNITY_TRANS_IPV4:
-               if (inet_pton(AF_INET, s, &ip) == 0)
+               if (inet_pton(AF_INET, s, &ip) != 1)
                        errx(1, "Bad ext-community %s not parseable", s);
                *v = ntohl(ip.s_addr);
                break;
index d8841db..29af28a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.466 2024/08/21 09:17:05 florian Exp $ */
+/*     $OpenBSD: parse.y,v 1.467 2024/08/22 08:17:54 florian Exp $ */
 
 /*
  * Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -4503,7 +4503,7 @@ parseextvalue(int type, char *s, uint32_t *v, uint32_t *flag)
                *v = uval | (uvalh << 16);
                break;
        case EXT_COMMUNITY_TRANS_IPV4:
-               if (inet_pton(AF_INET, s, &ip) == 0) {
+               if (inet_pton(AF_INET, s, &ip) != 1) {
                        yyerror("Bad ext-community %s not parseable", s);
                        return (-1);
                }
index 76118b4..56487cd 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.33 2024/08/21 09:20:36 florian Exp $ */
+/*     $OpenBSD: parse.y,v 1.34 2024/08/22 08:17:54 florian Exp $ */
 
 /*
  * Copyright (c) 2015 Renato Westphal <renato@openbsd.org>
@@ -223,7 +223,7 @@ varset              : STRING '=' string {
                ;
 
 conf_main      : ROUTERID STRING {
-                       if (!inet_pton(AF_INET, $2, &conf->rtr_id)) {
+                       if (inet_pton(AF_INET, $2, &conf->rtr_id) != 1) {
                                yyerror("error parsing router-id");
                                free($2);
                                YYERROR;
index d35621c..2c5f4cf 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.73 2024/08/21 09:17:56 florian Exp $ */
+/*     $OpenBSD: parse.y,v 1.74 2024/08/22 08:17:54 florian Exp $ */
 
 /*
  * Copyright (c) 2013, 2015, 2016 Renato Westphal <renato@openbsd.org>
@@ -203,7 +203,7 @@ string              : string STRING {
                ;
 
 routerid       : STRING {
-                       if (!inet_pton(AF_INET, $1, &$$)) {
+                       if (inet_pton(AF_INET, $1, &$$) != 1) {
                                yyerror("%s: error parsing router id", $1);
                                free($1);
                                YYERROR;