]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Simplify some code
authorpcarana <pc.moreno2099@gmail.com>
Thu, 28 Feb 2019 21:56:02 +0000 (15:56 -0600)
committerpcarana <pc.moreno2099@gmail.com>
Thu, 28 Feb 2019 21:56:02 +0000 (15:56 -0600)
src/rtr/pdu_sender.c

index a58d87386b7ba33460831991a1b97cb724df3e98..02b5963d5bd939fc65276fa674d3efb33617cbd8 100644 (file)
@@ -256,23 +256,21 @@ send_error_report_pdu(struct sender_common *common, u_int16_t code,
 
        set_header_values(&pdu.header, common->version, PDU_TYPE_ERROR_REPORT,
            code);
-       if (err_pdu == NULL) {
-               pdu.error_pdu_length = 0;
-               pdu.erroneous_pdu = NULL;
-       } else {
+
+       pdu.error_pdu_length = 0;
+       pdu.erroneous_pdu = err_pdu;
+       if (err_pdu != NULL) {
                /* TODO Really? Or get the PDU header length field */
                pdu.error_pdu_length = sizeof(*err_pdu);
-               pdu.erroneous_pdu = err_pdu;
        }
-       if (message == NULL) {
-               pdu.error_message_length = 0;
-               pdu.error_message = NULL;
-       } else {
+
+       pdu.error_message_length = 0;
+       pdu.error_message = NULL;
+       if (message != NULL) {
                pdu.error_message = malloc(strlen(message) + 1);
-               if (pdu.error_message == NULL) {
+               if (pdu.error_message == NULL)
                        warn("Error message couldn't be allocated, removed from PDU");
-                       pdu.error_message_length = 0;
-               } else {
+               else {
                        pdu.error_message_length = strlen(message) + 1;
                        strcpy(pdu.error_message, message);
                }
@@ -282,5 +280,6 @@ send_error_report_pdu(struct sender_common *common, u_int16_t code,
        pdu.header.length = length_error_report_pdu(&pdu);
 
        len = serialize_error_report_pdu(&pdu, data);
+       free(pdu.error_message);
        return send_response(common->fd, data, len);
 }