[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/