=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sdiff/sdiff.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- src/usr.bin/sdiff/sdiff.c 2009/06/07 13:29:50 1.28 +++ src/usr.bin/sdiff/sdiff.c 2013/04/01 16:08:00 1.29 @@ -1,4 +1,4 @@ -/* $OpenBSD: sdiff.c,v 1.28 2009/06/07 13:29:50 ray Exp $ */ +/* $OpenBSD: sdiff.c,v 1.29 2013/04/01 16:08:00 tobias Exp $ */ /* * Written by Raymond Lai . @@ -740,11 +740,14 @@ default: errx(2, "invalid diff command: %c: %s", cmd, line); } + free(line); /* Skip to next ed line. */ - while (n--) - if (!xfgets(diffpipe)) + while (n--) { + if (!(line = xfgets(diffpipe))) errx(2, "diff ended early"); + free(line); + } return (0); }