* dtable.cc (build_fh_name): Return pointer to a 'nodevice' rather than a NULL
pointer or suffer SEGVs with invalid paths.
This commit is contained in:
parent
6c68fbbc61
commit
912f81352f
|
@ -1,3 +1,8 @@
|
||||||
|
2003-09-25 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* dtable.cc (build_fh_name): Return pointer to a 'nodevice' rather than
|
||||||
|
a NULL pointer or suffer SEGVs with invalid paths.
|
||||||
|
|
||||||
2003-09-25 Christopher Faylor <cgf@redhat.com>
|
2003-09-25 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
* fork.cc (fork_parent): Detect failed pinfo constructor.
|
* fork.cc (fork_parent): Detect failed pinfo constructor.
|
||||||
|
|
|
@ -287,6 +287,7 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define cnew(name) new ((void *) ccalloc (HEAP_FHANDLER, 1, sizeof (name))) name
|
||||||
fhandler_base *
|
fhandler_base *
|
||||||
build_fh_name (const char *name, HANDLE h, unsigned opt, suffix_info *si)
|
build_fh_name (const char *name, HANDLE h, unsigned opt, suffix_info *si)
|
||||||
{
|
{
|
||||||
|
@ -294,7 +295,7 @@ build_fh_name (const char *name, HANDLE h, unsigned opt, suffix_info *si)
|
||||||
if (pc.error)
|
if (pc.error)
|
||||||
{
|
{
|
||||||
set_errno (pc.error);
|
set_errno (pc.error);
|
||||||
return NULL;
|
return cnew (fhandler_nodevice) ();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pc.exists () && h)
|
if (!pc.exists () && h)
|
||||||
|
@ -325,7 +326,6 @@ build_fh_dev (const device& dev, const char *unix_name)
|
||||||
return build_fh_pc (pc);
|
return build_fh_pc (pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define cnew(name) new ((void *) ccalloc (HEAP_FHANDLER, 1, sizeof (name))) name
|
|
||||||
fhandler_base *
|
fhandler_base *
|
||||||
build_fh_pc (path_conv& pc)
|
build_fh_pc (path_conv& pc)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue