File tree Expand file tree Collapse file tree 1 file changed +12
-5
lines changed Expand file tree Collapse file tree 1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -696,7 +696,8 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
696696
697697 ret = dns_unpack_response_header (dns_msg , * dns_id );
698698 if (ret < 0 ) {
699- ret = DNS_EAI_FAIL ;
699+ errno = - ret ;
700+ ret = DNS_EAI_SYSTEM ;
700701 goto quit ;
701702 }
702703
@@ -711,7 +712,8 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
711712 ret = dns_unpack_response_query (dns_msg );
712713 if (ret < 0 ) {
713714 if (ret == - ENOMEM ) {
714- ret = DNS_EAI_FAIL ;
715+ errno = - ret ;
716+ ret = DNS_EAI_SYSTEM ;
715717 goto quit ;
716718 }
717719
@@ -742,7 +744,8 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
742744 ret = dns_unpack_answer (dns_msg , answer_ptr , & ttl ,
743745 & answer_type );
744746 if (ret < 0 ) {
745- ret = DNS_EAI_FAIL ;
747+ errno = - ret ;
748+ ret = DNS_EAI_SYSTEM ;
746749 goto quit ;
747750 }
748751
@@ -809,14 +812,16 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
809812
810813 if (dns_msg -> response_length < address_size ) {
811814 /* it seems this is a malformed message */
812- ret = DNS_EAI_FAIL ;
815+ errno = EMSGSIZE ;
816+ ret = DNS_EAI_SYSTEM ;
813817 goto quit ;
814818 }
815819
816820 if ((dns_msg -> response_position + address_size ) >
817821 dns_msg -> msg_size ) {
818822 /* Too short message */
819- ret = DNS_EAI_FAIL ;
823+ errno = EMSGSIZE ;
824+ ret = DNS_EAI_SYSTEM ;
820825 goto quit ;
821826 }
822827
@@ -862,6 +867,7 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
862867
863868 * query_idx = get_slot_by_id (ctx , * dns_id , * query_hash );
864869 if (* query_idx < 0 ) {
870+ errno = ENOENT ;
865871 ret = DNS_EAI_SYSTEM ;
866872 goto quit ;
867873 }
@@ -884,6 +890,7 @@ int dns_validate_msg(struct dns_resolve_context *ctx,
884890 net_buf_max_len (dns_cname ),
885891 dns_msg , pos );
886892 if (ret < 0 ) {
893+ errno = - ret ;
887894 ret = DNS_EAI_SYSTEM ;
888895 goto quit ;
889896 }
You can’t perform that action at this time.
0 commit comments