+--- cvs-nserver-1.11.1.52/src/server.c.orig Sat Mar 23 01:33:45 2002
++++ cvs-nserver-1.11.1.52/src/server.c Tue Mar 11 20:53:37 2003
+@@ -5009,7 +5009,7 @@
+ /* Now initialize our argument vector (for arguments from the client). */
+
+ /* Small for testing. */
+- argument_vector_size = 1;
++ argument_vector_size = 2;
+ argument_vector =
+ (char **) malloc (argument_vector_size * sizeof (char *));
+ if (argument_vector == NULL)
+@@ -5044,6 +5044,9 @@
+ say something like "client apparently supports an option not supported
+ by this server" or something like that instead of usage message. */
+ argument_vector[0] = "cvs server";
++ argument_vector[1] = NULL;
++ /* first, null terminate;
++ * second, serve_argument writes outside bounds if argumentvector_size<2 */
+
+ while (1)
+ {
+--- cvs-nserver-1.11.1.52/acl/dir-acl.c.orig Sun Mar 31 22:23:38 2002
++++ cvs-nserver-1.11.1.52/acl/dir-acl.c Tue Mar 11 21:01:41 2003
+@@ -102,7 +102,7 @@
+ /* reallocate if needed */
+ if (dirs_count + 1 >= dirs_allocated) {
+ struct DIR_ACL **new_top_dirs =
+- realloc(top_dirs, dirs_allocated + ALLOC_DELTA);
++ realloc(top_dirs, (dirs_allocated + ALLOC_DELTA) * sizeof(DIR_ACL*));
+
+ if (new_top_dirs == NULL)
+ return 0;
+--- cvs-nserver-1.11.1.52/src/main.c.orig Sun Mar 31 22:49:08 2002
++++ cvs-nserver-1.11.1.52/src/main.c Tue Mar 11 21:11:38 2003
+@@ -922,6 +922,13 @@
+ #ifdef SERVER_SUPPORT
+ /* ACL-related stuff */
+ if (server_active) {
++ if(!Pserver_Repos) {
++ printf("E No repository specified.\n");
++#ifdef SYSTEM_CLEANUP
++ SYSTEM_CLEANUP ();
++#endif
++ exit(EXIT_FAILURE);
++ }
+ set_repository();
+ load_cvsgroups();
+ load_acladmins();