git: 9front

Download patch

ref: 8137b4eefae389e8f81752176ad70f90d4150892
parent: af79a471c04d8cc80cbb9c07a4925bbe7d5368fd
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Feb 11 18:42:15 EST 2019

ndb/dns: provide v4 argument to parseipmask(), use snprint() instead of sprint()

--- a/sys/src/cmd/ndb/dblookup.c
+++ b/sys/src/cmd/ndb/dblookup.c
@@ -1013,7 +1013,7 @@
 {
 	int len, dlen, n;
 	char *dom;
-	char buf[Domlen], ipa[48];
+	char buf[Domlen], ipa[64];
 	char *f[40];
 	uchar net[IPaddrlen], mask[IPaddrlen];
 	Area *s;
@@ -1057,7 +1057,7 @@
 			net[IPv4off+1] = atoi(f[2]);
 			net[IPv4off+2] = atoi(f[1]);
 			net[IPv4off+3] = atoi(f[0]);
-			sprint(ipa, "%I", net);
+			snprint(ipa, sizeof(ipa), "%I", net);
 			t = ndbipinfo(db, "ip", ipa, attribs, 1);
 			if(t == nil)	/* could be a reverse with no forward */
 				continue;
@@ -1066,7 +1066,7 @@
 				ndbfree(t);
 				continue;
 			}
-			parseipmask(mask, nt->val);
+			parseipmask(mask, nt->val, 1);
 			ndbfree(t);
 			n = 5;
 			break;
--