diff options
Diffstat (limited to 'kexgsss.c')
-rw-r--r-- | kexgsss.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -110,13 +110,12 @@ kexgss_server(struct ssh *ssh) | |||
110 | min = packet_get_int(); | 110 | min = packet_get_int(); |
111 | nbits = packet_get_int(); | 111 | nbits = packet_get_int(); |
112 | max = packet_get_int(); | 112 | max = packet_get_int(); |
113 | min = MAX(DH_GRP_MIN, min); | ||
114 | max = MIN(DH_GRP_MAX, max); | ||
115 | packet_check_eom(); | 113 | packet_check_eom(); |
116 | if (max < min || nbits < min || max < nbits) | 114 | if (max < min || nbits < min || max < nbits) |
117 | fatal("GSS_GEX, bad parameters: %d !< %d !< %d", | 115 | fatal("GSS_GEX, bad parameters: %d !< %d !< %d", |
118 | min, nbits, max); | 116 | min, nbits, max); |
119 | dh = PRIVSEP(choose_dh(min, nbits, max)); | 117 | dh = PRIVSEP(choose_dh(MAX(DH_GRP_MIN, min), |
118 | nbits, MIN(DH_GRP_MAX, max))); | ||
120 | if (dh == NULL) | 119 | if (dh == NULL) |
121 | packet_disconnect("Protocol error: no matching group found"); | 120 | packet_disconnect("Protocol error: no matching group found"); |
122 | 121 | ||