if (initialtls || tls) {
if (netsec_set_tls(nsc, 1, 0, &errstr) != OK)
- adios(NULL, errstr);
+ adios(NULL, "%s", errstr);
if (initialtls && netsec_negotiate_tls(nsc, &errstr) != OK)
- adios(NULL, errstr);
+ adios(NULL, "%s", errstr);
}
if (sasl) {
if (netsec_set_sasl_params(nsc, "imap", saslmech, imap_sasl_callback,
nsc, &errstr) != OK)
- adios(NULL, errstr);
+ adios(NULL, "%s", errstr);
}
if ((cp = netsec_readline(nsc, &len, &errstr)) == NULL) {
- adios(NULL, errstr);
+ adios(NULL, "%s", errstr);
}
if (has_prefix(cp, "* BYE")) {
goto finish;
}
if (netsec_negotiate_tls(nsc, &errstr) != OK) {
- adios(NULL, errstr);
+ adios(NULL, "%s", errstr);
}
}
*/
case NETSEC_SASL_FINISH:
+ line = NULL;
if (get_imap_response(nsc, NULL, NULL, &line, 1, errstr) != OK)
return NOTOK;
/*
* parse it.
*/
- if (has_prefix(line, "OK [CAPABILITY ")) {
+ if (line && has_prefix(line, "OK [CAPABILITY ")) {
char *p = line + 15, *q;
q = strchr(p, ']');