bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #52525] gropdf: Uninitialized variable "$fld"


From: Ingo Schwarze
Subject: [bug #52525] gropdf: Uninitialized variable "$fld"
Date: Fri, 16 Feb 2018 23:17:50 -0500 (EST)
User-agent: Mozilla/5.0 (X11; OpenBSD amd64; rv:57.0) Gecko/20100101 Firefox/57.0

Follow-up Comment #2, bug #52525 (project groff):

Hi Deri,

that is strange.  I can reproduce the problem even with the installed groff:

address@hidden $ groff --version
GNU groff version 1.22.3.rc1
[...]

address@hidden $ groff -Tpdf test.trf > test.pdf
this is the t-block
Use of uninitialized value $fld in concatenation (.) or string at
/usr/local/bin/gropdf line 2012.
Use of uninitialized value $fld in concatenation (.) or string at
/usr/local/bin/gropdf line 2012.

address@hidden $ xpdf test.pdf
Syntax Warning: May not be a PDF file (continuing anyway)
Syntax Error: Couldn't read xref table
Syntax Warning: PDF file is damaged - attempting to reconstruct xref table...
Syntax Error: Top-level pages reference is wrong type (null)
Syntax Error: Couldn't read page catalog

address@hidden $ cat test.pdf
1 0 obj 
endobj
1 0 obj << /CreationDate (D:20180217045905+01'00')
/Creator (groff version 1.22.3.rc1)
/ModDate (D:20180217045905+01'00')
/Producer (gropdf version 1.22.3.rc1)
>>
endobj
2 0 obj 
endobj
xref
0 2
0000000000 65535 f 
0000000016 00000 n 
0000000186 00000 n 
trailer
<<
/Info 1 0 R 
/Root 1 0 R
/Size 2
>>
startxref
202
%%EOF

The error message comes from Perl.  Have you somehow globally disabled
warnings in your Perl interpreter (admittedly, i wouldn't know how to do
that)?

The line in question is
  $$pmsg.="$fld$term";
in PutField().

For debugging, i just added this statement right before that line:
  warn "|$pmsg|$fld|$term|$typ|" unless defined $fld;
Which resulted in this output:

|SCALAR(0xfa4d4761910)|1 0 obj ||
|| at /usr/local/bin/gropdf line 2012.

|SCALAR(0xfa4d4761910)|2 0 obj ||
|| at /usr/local/bin/gropdf line 2012.

So apparently, the following gets called:
  PutField(&"1 0 obj ", undef, false);
  PutField(&"2 0 obj ", undef, false);

And indeed, the "1 0 obj endobj" in the output looks strange to me.

Any idea what to do to help you reproduce?

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52525>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]