Re: PL/Perl Does not Like vstrings

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: "David E(dot) Wheeler" <david(at)justatheory(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PL/Perl Does not Like vstrings
Date: 2012-01-04 17:56:30
Message-ID: 17681.1325699790@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> The docs (perldoc perlvar) seem to suggest $^V isn't an SV (i.e. a
> scalar) but some other sort of animal:

Yeah, it's a version object, but I'd have thought that SvPV and friends
would automatically stringify such an object. Otherwise, practically
any kind of perl extension could be crashed by passing it one, no?

> But Util.xs::util_elog() expects an SV and doesn't check whether or not
> it actually has one. I've found a few other ways of crashing this call
> (e.g. by passing a typeglob), so maybe we need to test that we actually
> have an SV. I think SvOK() is what we'd use for that - perl gurus please
> confirm.

I looked at that last night but it appeared that SvOK would be perfectly
happy. (Didn't actually try it, though, I was just eyeballing the flags
in gdb.)

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-01-04 18:00:06 Re: Regarding Checkpoint Redo Record
Previous Message Andrew Dunstan 2012-01-04 17:22:48 Re: PL/Perl Does not Like vstrings