case 0: {
dh_param dp;
qd_delim(qd, '{');
- if (dh_parse(qd, &dp)) break;
+ if (dh_parse(qd, &dp)) goto ouch;
qd_delim(qd, '}');
g = group_prime(&dp);
dh_paramfree(&dp);
case 1: {
ec_info ei;
qd_delim(qd, '{');
- if (ec_infoparse(qd, &ei)) break;
+ if (ec_infoparse(qd, &ei)) goto ouch;
qd_delim(qd, '}');
g = group_ec(&ei);
} break;
}
if (!g) qd->e = "bad group parameters";
+ouch:
return (g);
}