Skip to content

Commit

Permalink
Merge pull request RemedyIT#268 from jwillemsen/jwi-getskelargs
Browse files Browse the repository at this point in the history
Check the skel_args pointer before using it, when it is nullptr we sh…
  • Loading branch information
jwillemsen committed Mar 10, 2023
2 parents 8b60b91 + 10bccc1 commit 6b906d8
Showing 1 changed file with 40 additions and 21 deletions.
61 changes: 40 additions & 21 deletions tao/x11/portable_server/get_skel_arg.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,21 @@ namespace TAOX11_NAMESPACE
get_ret_arg (TAO_Operation_Details const * details,
TAO::Argument * const * skel_args)
{
if (details != 0 && details->use_stub_args ())
if (details && details->use_stub_args ())
{
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::ret_val *> (
details->args ()[0])->arg ();
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::ret_val *> (details->args ()[0])->arg ();

}
else
{
return static_cast<typename PS::SArg_Traits<T>::ret_val *> (
skel_args[0])->arg ();
if (skel_args)
{
return static_cast<typename PS::SArg_Traits<T>::ret_val *> (skel_args[0])->arg ();
}
else
{
throw TAO_CORBA::INTERNAL ();
}
}
}

Expand All @@ -45,15 +50,20 @@ namespace TAOX11_NAMESPACE
TAO_TAO::Argument * const * skel_args,
size_t i)
{
if (details != 0 && details->use_stub_args ())
if (details && details->use_stub_args ())
{
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::in_arg_val *> (
details->args ()[i])->arg ();
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::in_arg_val *> (details->args ()[i])->arg ();
}
else
{
return static_cast<typename PS::SArg_Traits<T>::in_arg_val *> (
skel_args[i])->arg ();
if (skel_args)
{
return static_cast<typename PS::SArg_Traits<T>::in_arg_val *> (skel_args[i])->arg ();
}
else
{
throw TAO_CORBA::INTERNAL ();
}
}
}

Expand All @@ -64,16 +74,20 @@ namespace TAOX11_NAMESPACE
TAO::Argument * const * skel_args,
size_t i)
{
if (details != 0 && details->use_stub_args ())
if (details && details->use_stub_args ())
{
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::inout_arg_val *> (
details->args ()[i])->arg ();
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::inout_arg_val *> (details->args ()[i])->arg ();
}
else
{
return static_cast<typename PS::SArg_Traits<T>::inout_arg_val *> (
skel_args[i])->arg ();

if (skel_args)
{
return static_cast<typename PS::SArg_Traits<T>::inout_arg_val *> (skel_args[i])->arg ();
}
else
{
throw TAO_CORBA::INTERNAL ();
}
}
}

Expand All @@ -84,15 +98,20 @@ namespace TAOX11_NAMESPACE
TAO::Argument * const * skel_args,
size_t i)
{
if (details != 0 && details->use_stub_args ())
if (details && details->use_stub_args ())
{
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::out_arg_val *> (
details->args ()[i])->arg ();
return static_cast<typename TAOX11_NAMESPACE::Arg_Traits<T>::out_arg_val *> (details->args ()[i])->arg ();
}
else
{
return static_cast<typename PS::SArg_Traits<T>::out_arg_val *> (
skel_args[i])->arg ();
if (skel_args)
{
return static_cast<typename PS::SArg_Traits<T>::out_arg_val *> (skel_args[i])->arg ();
}
else
{
throw TAO_CORBA::INTERNAL ();
}
}
}
} // namespace PS
Expand Down

0 comments on commit 6b906d8

Please sign in to comment.