Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/17/84; site hao.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!hao!pag From: pag@hao.UUCP (Peter Gross) Newsgroups: net.bugs.4bsd Subject: New versions of sendmail may crash Message-ID: <1299@hao.UUCP> Date: Mon, 10-Dec-84 11:53:14 EST Article-I.D.: hao.1299 Posted: Mon Dec 10 11:53:14 1984 Date-Received: Wed, 12-Dec-84 04:23:24 EST Distribution: net Organization: High Altitude Obs./NCAR, Boulder CO Lines: 65 After making a very minor change to sendmail and recompiling it, it died with a segmentation violation (inside malloc()). After much detective work, I figured out that reading in the existing sendmail.fc file was writing over malloc's memory arena. Sendmail has checks (based on version.c) to prevent using an out-of-sync sendmail.fc with a new version of sendmail, but unfortunately the new version generation involves use of SCCS which very few 4.2 sites have. The upshot of this is you must remake your sendmail.fc file after installing any new version of sendmail. Subject: sendmail may crash if used with old sendmail.fc file Index: /usr/src/usr.lib/sendmail/src/Makefile 4.2BSD Description: Recompiled versions of sendmail may crash due to using old frozen configuration file (sendmail.fc). This is due to data and bss locations changing in the new version. Repeat-By: Freeze the configuration file (sendmail -bz). Make a minor change to sendmail (add a few printf's, etc.) Recompile, then try using sendmail (say, sendmail -bt). It will very likely die. Fix: Have Makefile remove existing sendmail.fc before installing new version. diffs follow: *** /tmp/,RCSt1003846 Mon Dec 10 09:29:07 1984 --- Makefile Mon Dec 10 09:28:28 1984 *************** *** 2,8 # SENDMAIL Makefile. # # Version: ! # @(#)Makefile.m4 4.1 7/25/83 # LIBS= ../lib/libsys.a -ldbm --- 2,8 ----- # SENDMAIL Makefile. # # Version: ! # $Header: Makefile,v 4.2 84/12/10 09:26:19 root Exp $ # LIBS= ../lib/libsys.a -ldbm *************** *** 62,67 install: all $(INSTALL) sendmail $(DESTDIR)/usr/lib version: newversion $(OBJS) Version.c --- 62,70 ----- install: all $(INSTALL) sendmail $(DESTDIR)/usr/lib + echo "Removing frozen sendmail configuration file" + -rm -f $(DESTDIR)/usr/lib/sendmail.fc + echo "Recreate frozen config file via sendmail -bz" version: newversion $(OBJS) Version.c