=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/diff/diffdir.c,v retrieving revision 1.36 retrieving revision 1.37 diff -c -r1.36 -r1.37 *** src/usr.bin/diff/diffdir.c 2010/07/16 23:27:58 1.36 --- src/usr.bin/diff/diffdir.c 2010/07/17 00:00:32 1.37 *************** *** 1,4 **** ! /* $OpenBSD: diffdir.c,v 1.36 2010/07/16 23:27:58 ray Exp $ */ /* * Copyright (c) 2003 Todd C. Miller --- 1,4 ---- ! /* $OpenBSD: diffdir.c,v 1.37 2010/07/17 00:00:32 ray Exp $ */ /* * Copyright (c) 2003 Todd C. Miller *************** *** 81,88 **** /* get a list of the entries in each directory */ dp1 = dirp1 = slurpdir(path1, &dirbuf1, Nflag + Pflag); dp2 = dirp2 = slurpdir(path2, &dirbuf2, Nflag); ! if (dirp1 == NULL || dirp2 == NULL) ! return; /* * If we were given a starting point, find it. --- 81,89 ---- /* get a list of the entries in each directory */ dp1 = dirp1 = slurpdir(path1, &dirbuf1, Nflag + Pflag); dp2 = dirp2 = slurpdir(path2, &dirbuf2, Nflag); ! if (dirp1 == NULL || dirp2 == NULL) { ! goto closem; ! } /* * If we were given a starting point, find it. *************** *** 144,149 **** --- 145,151 ---- } } + closem: if (dirbuf1 != NULL) { xfree(dirp1); xfree(dirbuf1);