diff --git a/cde/programs/dtcm/server/rtable2.c b/cde/programs/dtcm/server/rtable2.c index 1ed050a92..2a747cb7b 100644 --- a/cde/programs/dtcm/server/rtable2.c +++ b/cde/programs/dtcm/server/rtable2.c @@ -250,12 +250,14 @@ _DtCm_rtable_change_instance_2_svc(Table_Args_2 *args, struct svc_req *svcrq) if (res!=NULL) xdr_free ((xdrproc_t)_DtCm_xdr_Table_Res_2, (char*)res); newargs = _DtCm_tableargs2_to_tableargs4(args); - newargs->args.Args_4_u.apptid.option = do_one_4; - newres = _DtCm_rtable_change_4_svc(newargs, svcrq); - res = _DtCm_tableres4_to_tableres2(newres); + if(newargs) { + newargs->args.Args_4_u.apptid.option = do_one_4; + newres = _DtCm_rtable_change_4_svc(newargs, svcrq); + res = _DtCm_tableres4_to_tableres2(newres); - if (newargs!=NULL) xdr_free((xdrproc_t)_DtCm_xdr_Table_Args_4, (char*)newargs); - + xdr_free((xdrproc_t)_DtCm_xdr_Table_Args_4, (char*)newargs); + } + return(res); }