]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/libndb/ndbipinfo.c
fix special case for null pointer constants in cond expressions
[plan9front.git] / sys / src / libndb / ndbipinfo.c
index e2bb8ca6fa36af1bbcdd954a7d6cac9b87a97612..5ee706e55efd20eda64476cb9b75aaf005e68894 100644 (file)
@@ -123,7 +123,6 @@ subnet(Ndb *db, uchar *net, Ndbtuple *f, int prefix)
        char netstr[64];
        uchar mask[IPaddrlen];
        Ndbtuple *t, *nt, *xt;
-       int masklen;
 
        t = nil;
        snprint(netstr, sizeof(netstr), "%I", net);
@@ -132,12 +131,9 @@ subnet(Ndb *db, uchar *net, Ndbtuple *f, int prefix)
                xt = ndbfindattr(nt, nt, "ipnet");
                if(xt != nil){
                        xt = ndbfindattr(nt, nt, "ipmask");
-                       if(xt != nil)
-                               parseipmask(mask, xt->val, isv4(net));
-                       else
+                       if(xt == nil || parseipmask(mask, xt->val, isv4(net)) == -1)
                                ipmove(mask, defmask(net));
-                       masklen = prefixlen(mask);
-                       if(masklen <= prefix){
+                       if(prefixlen(mask) <= prefix){
                                t = ndbconcatenate(t, filter(db, nt, f));
                                nt = nil;
                        }