chiark / gitweb /
@@ -1,3 +1,9 @@
[userv-utils.git] / ipif / service.c
index 397740cba8e4db12008d46c3e74aa4c40bb272f2..4137794797185fb69ed80b531726ebbe5466b9f6 100644 (file)
@@ -329,7 +329,7 @@ static void eat_prefixmask(const char **argp, const char *what,
   sprintf(whatbuf,"%s length",what);
   len= eat_number(argp,whatbuf, 0,32, endchars,endchar_r);
 
-  mask= (~0UL << (32-len));
+  mask= len ? (~0UL << (32-len)) : 0UL;
   if (prefix & ~mask) badusage("%s prefix %08lx not fully contained in mask %08lx",
                               what,prefix,mask);
   *prefix_r= prefix;