In
GV *gv = newGVgen(HvNAME_get(s->stash))
HvNAME_get() can return a null value (don't know whether it ever will in
these circumstances), while newGVgen() expects a non-null arg.
So calculate HvNAME_get() first, and bail if it's null.
package PerlIO::via;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
require XSLoader;
XSLoader::load();
1;
}
if (*PerlIONext(f)) {
if (!s->fh) {
- GV *gv = newGVgen(HvNAME_get(s->stash));
+ GV *gv;
+ char *package = HvNAME_get(s->stash);
+
+ if (!package)
+ return Nullsv; /* can this ever happen? */
+ gv = newGVgen(package);
GvIOp(gv) = newIO();
s->fh = newRV((SV *) gv);
s->io = GvIOp(gv);