summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <withnall@endlessm.com>2017-02-17 09:27:36 +0000
committerMatthias Clasen <mclasen@redhat.com>2017-04-08 00:55:32 -0400
commit6f0648043fe2a084db15a6cdded8402625676aef (patch)
tree4e561b11cfaa3786a4af75c7dc5a0a0e345532d9
parent97fc6fbffe65d9ca4e92fc8979808faebed0ee35 (diff)
downloadpango-6f0648043fe2a084db15a6cdded8402625676aef.tar.gz
pango-utils: Fix non-escaped \r\n line endings in pango_read_line()
The handling for \r or \r\n line endings in pango_read_line() was broken. It should have discarded the \r or \r\n, but was only doing this for \n or \n\r. The condition (c == EOF) could never have been reached. Coverity ID: 1391696 Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=778816
-rw-r--r--pango/pango-utils.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pango/pango-utils.c b/pango/pango-utils.c
index 9bdc6f15..313471fe 100644
--- a/pango/pango-utils.c
+++ b/pango/pango-utils.c
@@ -338,11 +338,12 @@ pango_read_line (FILE *stream, GString *str)
if (!comment)
quoted = TRUE;
break;
+ case '\r':
case '\n':
{
int next_c = getc_unlocked (stream);
- if (!(c == EOF ||
+ if (!(next_c == EOF ||
(c == '\r' && next_c == '\n') ||
(c == '\n' && next_c == '\r')))
ungetc (next_c, stream);