Subject: grep: infinite loop in grep -P on some files with invalid UTF-8 sequences

From: Santiago <[email-masked]>
Date: Wed, 29 Jan 2014 10:43:46 +0100

Package: grep
Version: 2.16
Severity: important

Hi there,

I forward this bug from debian's BTS. Last changes in -P brought another
problem. I've confirmed this behavior on last debian package:

----- Forwarded message from Vincent Lefevre <[email-masked]> -----

[snip]

grep -P loops on some files with invalid UTF-8 sequences, e.g.

$ /usr/bin/printf "\xe9\x65\n\xab\n" | grep -P '.e|.?z' | head
�e
�e
�e
�e
�e
�e
�e
�e
�e
�e

(the infinite loop is interrupted here by a broken pipe due to
the "head").

It seems that the fix of

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730472

didn't solve all the problems.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.12-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grep depends on:
ii  dpkg          1.17.6
ii  install-info  5.2.0.dfsg.1-2
ii  libc6         2.17-97
ii  libpcre3      1:8.31-2

grep recommends no packages.

grep suggests no packages.

-- no debconf information

----- End forwarded message -----