Commit d7559f16 authored by Lutz Jänicke's avatar Lutz Jänicke
Browse files

Free "engine" resource in case of failure to prevent memory leak

PR: #778
Submitted by: George Mitchell <george@m5p.com>
parent 9e989810
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1055,14 +1055,17 @@ ENGINE_load_cryptodev(void)

	if (engine == NULL)
		return;
	if ((fd = get_dev_crypto()) < 0)
	if ((fd = get_dev_crypto()) < 0) {
		ENGINE_free(engine);
		return;
	}

	/*
	 * find out what asymmetric crypto algorithms we support
	 */
	if (ioctl(fd, CIOCASYMFEAT, &cryptodev_asymfeat) == -1) {
		close(fd);
		ENGINE_free(engine);
		return;
	}
	close(fd);