gww@marduk.UUCP (Gary Winiger) (09/05/87)
Subject: RCS dereferneces a null pointer. +Fix Index: new/rcs 4.3BSD +Fix Description: Rcs can dereference a null pointer. Repeat-By: I don't recall the circumstances. This bug was resolved some time ago and was not posted. In porting 4.3 it was corrected again. Fix: The attached code fixes this problem at Elxsi. Gary.. {ucbvax!sun,lll-lcc!lll-tis,amdahl!altos86,bridge2}!elxsi!gww --------- cut --------- snip --------- :.,$w diff ------------- *** /tmp/,RCSt1007134 Wed Dec 10 16:02:06 1986 --- rcs.c Wed Dec 10 14:10:54 1986 *************** *** 1,10 **** /* * $Log: rcs.c,v $ * Revision 1.1 86/12/09 17:33:55 gww * Initial revision * */ ! static char *ERcsId = "$Header: rcs.c,v 1.1 86/12/09 17:33:55 gww Exp $ ENIX BSD"; /* * RCS create/change operation */ --- 1,13 ---- /* * $Log: rcs.c,v $ + * Revision 1.2 86/12/10 14:10:35 gww + * Get rid of NULL pointer. + * * Revision 1.1 86/12/09 17:33:55 gww * Initial revision * */ ! static char *ERcsId = "$Header: rcs.c,v 1.2 86/12/10 14:10:35 gww Exp $ ENIX BSD"; /* * RCS create/change operation */ *************** *** 994,1000 **** dummy.nextlock=next=Locks; trail = &dummy; while (next!=nil) { ! numr = strcmp(num, next->delta->num); if ((whor=strcmp(who,next->login))==0 && (num==nil || numr==0)) break; /* found a lock */ --- 997,1003 ---- dummy.nextlock=next=Locks; trail = &dummy; while (next!=nil) { ! numr = (num==nil)?-1:strcmp(num, next->delta->num); if ((whor=strcmp(who,next->login))==0 && (num==nil || numr==0)) break; /* found a lock */