commit - 9250b3969882720bf06e9974604ed10a23942830
commit + 500ea6d4e3c9b60a442cf1bdd4f493026dcf3a5e
blob - ec53ec5c5468b187187fe6f3239c646c508d29f4
blob + 6e3bee7c5f62afa22685453206abc72833040b0a
--- main.c
+++ main.c
}
return message;
fail:
- free(message->headers);
- EVP_MD_CTX_free(message->dctx);
- free(message);
+ dkim_message_free(ctx, message);
return NULL;
}
fclose(message->origf);
EVP_MD_CTX_free(message->dctx);
free(message->signature.signature);
- for (i = 0; message->headers[i] != NULL; i++)
+ for (i = 0; message->headers != NULL &&
+ message->headers[i] != NULL; i++)
free(message->headers[i]);
free(message->headers);
free(message);
}
message->headers = mtmp;
- message->headers[lastheader] = strdup(line);
+ if ((message->headers[lastheader] = strdup(line)) == NULL) {
+ dkim_err(message, "Can't store header");
+ return;
+ }
message->headers[lastheader + 1 ] = NULL;
message->lastheader = 1;
} else {