=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/patch/inp.c,v retrieving revision 1.35 retrieving revision 1.36 diff -c -r1.35 -r1.36 *** src/usr.bin/patch/inp.c 2009/10/27 23:59:41 1.35 --- src/usr.bin/patch/inp.c 2012/04/10 14:46:34 1.36 *************** *** 1,4 **** ! /* $OpenBSD: inp.c,v 1.35 2009/10/27 23:59:41 deraadt Exp $ */ /* * patch - a program to apply diffs to original files --- 1,4 ---- ! /* $OpenBSD: inp.c,v 1.36 2012/04/10 14:46:34 ajacoutot Exp $ */ /* * patch - a program to apply diffs to original files *************** *** 243,254 **** if ((ifd = open(filename, O_RDONLY)) < 0) pfatal("can't open file %s", filename); ! i_womp = mmap(NULL, i_size, PROT_READ, MAP_PRIVATE, ifd, 0); ! if (i_womp == MAP_FAILED) { ! perror("mmap failed"); i_womp = NULL; - close(ifd); - return false; } close(ifd); --- 243,258 ---- if ((ifd = open(filename, O_RDONLY)) < 0) pfatal("can't open file %s", filename); ! if (i_size) { ! i_womp = mmap(NULL, i_size, PROT_READ, MAP_PRIVATE, ifd, 0); ! if (i_womp == MAP_FAILED) { ! perror("mmap failed"); ! i_womp = NULL; ! close(ifd); ! return false; ! } ! } else { i_womp = NULL; } close(ifd);