parent
70a290c5f7
commit
4cbc181983
|
@ -20,6 +20,9 @@
|
||||||
[deattack.c radix.c]
|
[deattack.c radix.c]
|
||||||
kill more registers
|
kill more registers
|
||||||
millert@ ok
|
millert@ ok
|
||||||
|
- markus@cvs.openbsd.org 2001/11/21 15:51:24
|
||||||
|
[key.c]
|
||||||
|
mem leak
|
||||||
|
|
||||||
20011126
|
20011126
|
||||||
- (tim) [contrib/cygwin/README, openbsd-compat/bsd-cygwin_util.c,
|
- (tim) [contrib/cygwin/README, openbsd-compat/bsd-cygwin_util.c,
|
||||||
|
@ -6942,4 +6945,4 @@
|
||||||
- Wrote replacements for strlcpy and mkdtemp
|
- Wrote replacements for strlcpy and mkdtemp
|
||||||
- Released 1.0pre1
|
- Released 1.0pre1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.1672 2001/12/06 16:39:56 mouring Exp $
|
$Id: ChangeLog,v 1.1673 2001/12/06 16:41:41 mouring Exp $
|
||||||
|
|
7
key.c
7
key.c
|
@ -32,7 +32,7 @@
|
||||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$OpenBSD: key.c,v 1.33 2001/10/04 14:34:16 markus Exp $");
|
RCSID("$OpenBSD: key.c,v 1.34 2001/11/21 15:51:24 markus Exp $");
|
||||||
|
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
|
|
||||||
|
@ -420,14 +420,15 @@ key_read(Key *ret, char **cpp)
|
||||||
n = uudecode(cp, blob, len);
|
n = uudecode(cp, blob, len);
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
error("key_read: uudecode %s failed", cp);
|
error("key_read: uudecode %s failed", cp);
|
||||||
|
xfree(blob);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
k = key_from_blob(blob, n);
|
k = key_from_blob(blob, n);
|
||||||
|
xfree(blob);
|
||||||
if (k == NULL) {
|
if (k == NULL) {
|
||||||
error("key_read: key_from_blob %s failed", cp);
|
error("key_read: key_from_blob %s failed", cp);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
xfree(blob);
|
|
||||||
if (k->type != type) {
|
if (k->type != type) {
|
||||||
error("key_read: type mismatch: encoding error");
|
error("key_read: type mismatch: encoding error");
|
||||||
key_free(k);
|
key_free(k);
|
||||||
|
@ -454,9 +455,9 @@ key_read(Key *ret, char **cpp)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
/*XXXX*/
|
/*XXXX*/
|
||||||
|
key_free(k);
|
||||||
if (success != 1)
|
if (success != 1)
|
||||||
break;
|
break;
|
||||||
key_free(k);
|
|
||||||
/* advance cp: skip whitespace and data */
|
/* advance cp: skip whitespace and data */
|
||||||
while (*cp == ' ' || *cp == '\t')
|
while (*cp == ' ' || *cp == '\t')
|
||||||
cp++;
|
cp++;
|
||||||
|
|
Loading…
Reference in New Issue