Fix so yppush will err out if it can't find the ypservers map. This whole
authorgene <gene@openbsd.org>
Sat, 15 Mar 1997 00:08:58 +0000 (00:08 +0000)
committergene <gene@openbsd.org>
Sat, 15 Mar 1997 00:08:58 +0000 (00:08 +0000)
code wants lots of attention, but at least it won't dump core on a virgin
installation now.

usr.sbin/ypserv/yppush/yppush.c

index c17db84..a4e774e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: yppush.c,v 1.5 1996/12/14 22:10:27 maja Exp $ */
+/*     $OpenBSD: yppush.c,v 1.6 1997/03/15 00:08:58 gene Exp $ */
 
 /*
  * Copyright (c) 1995 Mats O Jansson <moj@stacken.kth.se>
@@ -32,7 +32,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$OpenBSD: yppush.c,v 1.5 1996/12/14 22:10:27 maja Exp $";
+static char rcsid[] = "$OpenBSD: yppush.c,v 1.6 1997/03/15 00:08:58 gene Exp $";
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -281,6 +281,7 @@ char **argv;
                exit(1);
        }
                
+       
        /* Check map */
        snprintf(map_path,sizeof map_path,"%s/%s/%s%s",
            YP_DB_PATH,domain,Map,YPDB_SUFFIX);
@@ -324,7 +325,11 @@ char **argv;
 
        yp_bind(Domain);
 
-        r = yp_master(Domain, ypmap, &master);
+       r = yp_master(Domain, ypmap, &master);
+        if (r != 0) {
+               fprintf(stderr, "yppush: could not get ypservers map\n");
+               exit(1);
+       }
 
        if (hostname != NULL) {
          push(strlen(hostname), hostname);