]> andersk Git - moira.git/commitdiff
Be paranoid.
authorwesommer <wesommer>
Sat, 12 Sep 1987 20:41:50 +0000 (20:41 +0000)
committerwesommer <wesommer>
Sat, 12 Sep 1987 20:41:50 +0000 (20:41 +0000)
server/mr_main.c
server/mr_sauth.c

index 9b35334baab1b4b380b6b98db1e414b465abdc53..05f116bc04aba3dcc435f024415d3d17ce27c4fc 100644 (file)
  *     Let the reader beware.
  * 
  *     $Log$
- *     Revision 1.13  1987-08-04 02:40:30  wesommer
- *     Do end run around minor hotspot.
+ *     Revision 1.14  1987-09-12 20:41:50  wesommer
+ *     Be paranoid.
  *
+ * Revision 1.14  87/09/12  20:08:01  wesommer
+ * Add some defensive programming to defend against people who don't
+ * understand what the contents of the cl struct mean.
+ * 
+ * Revision 1.13  87/08/04  02:40:30  wesommer
+ * Do end run around minor hotspot.
+ * 
  * Revision 1.12  87/08/04  01:50:00  wesommer
  * Rearranged messages.
  * 
@@ -312,6 +319,7 @@ new_connection()
         * Set up the new connection and reply to the client
         */
        cp = (client *)malloc(sizeof *cp);
+       bzero(cp, sizeof(*cp));
        cp->state = CL_STARTING;
        cp->action = CL_ACCEPT;
        cp->con = newconn;
index 326621b3ca334317c071eb2b052f7da528d24a11..313f8738a9526db140ac8d366895620b4c790688 100644 (file)
@@ -6,9 +6,12 @@
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
  *
  *     $Log$
- *     Revision 1.6  1987-08-04 02:40:47  wesommer
- *     Clean up messages.
+ *     Revision 1.7  1987-09-12 20:42:05  wesommer
+ *     Be paranoid.
  *
+ * Revision 1.6  87/08/04  02:40:47  wesommer
+ * Clean up messages.
+ * 
  * Revision 1.5  87/07/14  00:40:18  wesommer
  * Rearranged logging.
  * 
@@ -56,8 +59,13 @@ do_auth(cl)
        char buf[REALM_SZ+INST_SZ+ANAME_SZ];
        extern int krb_err_base;
        
+       if (cl->clname) {
+               free(cl->clname);
+               cl->clname = 0;
+               bzero(&cl->kname, sizeof(cl->kname));
+       }
+       
        auth.length = cl->args->sms_argl[0];
-
        bcopy(cl->args->sms_argv[0], (char *)auth.dat, auth.length);
        auth.mbz = 0;
        
@@ -84,6 +92,7 @@ do_auth(cl)
        
        cl->clname = (char *)malloc((unsigned)(strlen(buf)+1));
        (void) strcpy(cl->clname, buf);
+       bzero(&ad, sizeof(ad)); /* Clean up session key, etc. */
        if (log_flags & LOG_RES) {
                com_err(whoami, 0, "Authenticated to %s", cl->clname);
        }
This page took 0.076844 seconds and 5 git commands to generate.