Mercurial > hg > freeDiameter
comparison libfdcore/p_ce.c @ 1230:e72c9dad62ac
Fix issue with generating Failed-AVP when the error is DIAMETER_MISSING_AVP. Also fix a memory leak in that case
author | Sebastien Decugis <sdecugis@freediameter.net> |
---|---|
date | Sun, 21 Jul 2013 11:57:39 +0200 |
parents | 60e7b02a3ce7 |
children | 8f9684264fe0 |
comparison
equal
deleted
inserted
replaced
1229:4e52f009861a | 1230:e72c9dad62ac |
---|---|
634 /* Create and send the CEA with appropriate error code */ | 634 /* Create and send the CEA with appropriate error code */ |
635 CHECK_FCT_DO( fd_msg_new_answer_from_req ( fd_g_config->cnf_dict, cer, MSGFL_ANSW_ERROR ), goto destroy ); | 635 CHECK_FCT_DO( fd_msg_new_answer_from_req ( fd_g_config->cnf_dict, cer, MSGFL_ANSW_ERROR ), goto destroy ); |
636 CHECK_FCT_DO( fd_msg_rescode_set(*cer, error->pei_errcode, error->pei_message, error->pei_avp, 1 ), goto destroy ); | 636 CHECK_FCT_DO( fd_msg_rescode_set(*cer, error->pei_errcode, error->pei_message, error->pei_avp, 1 ), goto destroy ); |
637 CHECK_FCT_DO( fd_out_send(cer, *recv_cnx, NULL), goto destroy ); | 637 CHECK_FCT_DO( fd_out_send(cer, *recv_cnx, NULL), goto destroy ); |
638 | 638 |
639 if (error->pei_avp_free) { | |
640 fd_msg_free(error->pei_avp); | |
641 } | |
642 | |
639 /* And now destroy this connection */ | 643 /* And now destroy this connection */ |
640 destroy: | 644 destroy: |
641 fd_cnx_destroy(*recv_cnx); | 645 fd_cnx_destroy(*recv_cnx); |
642 *recv_cnx = NULL; | 646 *recv_cnx = NULL; |
643 if (*cer) { | 647 if (*cer) { |