Cast client_alive_interval to u_int64_t before assinging to
max_time_milliseconds to avoid potential integer overflow in the timeout.
bz#2170, patch from Loganaden Velvindron, ok djm@
+ - djm@cvs.openbsd.org 2013/12/19 00:27:57
+ [auth-options.c]
+ simplify freeing of source-address certificate restriction
20131221
- (dtucker) [regress/keytype.sh] Actually test ecdsa key types.
-/* $OpenBSD: auth-options.c,v 1.61 2013/11/08 00:39:14 djm Exp $ */
+/* $OpenBSD: auth-options.c,v 1.62 2013/12/19 00:27:57 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
u_char *data_blob = NULL;
u_int nlen, dlen, clen;
Buffer c, data;
- int ret = -1, found;
+ int ret = -1, result, found;
buffer_init(&data);
goto out;
}
remote_ip = get_remote_ipaddr();
- switch (addr_match_cidr_list(remote_ip,
- allowed)) {
+ result = addr_match_cidr_list(remote_ip,
+ allowed);
+ free(allowed);
+ switch (result) {
case 1:
/* accepted */
- free(allowed);
break;
case 0:
/* no match */
"is not permitted to use this "
"certificate for login.",
remote_ip);
- free(allowed);
goto out;
case -1:
+ default:
error("Certificate source-address "
"contents invalid");
- free(allowed);
goto out;
}
found = 1;