More null pointer dereference fixes
[claws.git] / src / plugins / managesieve / managesieve.c
index f49e29bb7327136b7475489a157cd77e3f873079..9739a0ef05b37826e24ef08591b40de1fd321bf5 100644 (file)
@@ -153,7 +153,7 @@ static gboolean sieve_read_chunk_cb(SockInfo *source,
 
                if (read_len == -1 &&
                                session->state == SESSION_DISCONNECTED) {
-                       g_warning ("sock_read: session disconnected\n");
+                       g_warning ("sock_read: session disconnected");
                        if (session->io_tag > 0) {
                                g_source_remove(session->io_tag);
                                session->io_tag = 0;
@@ -162,7 +162,7 @@ static gboolean sieve_read_chunk_cb(SockInfo *source,
                }
 
                if (read_len == 0) {
-                       g_warning("sock_read: received EOF\n");
+                       g_warning("sock_read: received EOF");
                        session->state = SESSION_EOF;
                        return FALSE;
                }
@@ -172,7 +172,7 @@ static gboolean sieve_read_chunk_cb(SockInfo *source,
                        case EAGAIN:
                                return TRUE;
                        default:
-                               g_warning("sock_read: %s\n",
+                               g_warning("sock_read: %s",
                                                g_strerror(errno));
                                session->state = SESSION_ERROR;
                                return FALSE;
@@ -620,7 +620,7 @@ static void parse_response(gchar *msg, SieveResult *result)
        }
 
        /* response code */
-       if (msg[0] == '(' && (end = strchr(msg, ')'))) {
+       if (msg && msg[0] == '(' && (end = strchr(msg, ')'))) {
                msg++;
                *end++ = '\0';
                result->code =
@@ -635,7 +635,7 @@ static void parse_response(gchar *msg, SieveResult *result)
        }
 
        /* s2c octets */
-       if (msg[0] == '{' && (end = strchr(msg, '}'))) {
+       if (msg && msg[0] == '{' && (end = strchr(msg, '}'))) {
                msg++;
                *end++ = '\0';
                if (msg[0] == '0' && msg+1 == end) {
@@ -654,7 +654,7 @@ static void parse_response(gchar *msg, SieveResult *result)
        }
 
        /* text */
-       if (*msg) {
+       if (msg && *msg) {
                unquote_inplace(msg);
                result->description = msg;
        } else {
@@ -999,7 +999,9 @@ static gint sieve_session_connect(SieveSession *session)
 {
        session->state = SIEVE_CAPABILITIES;
        session->authenticated = FALSE;
+#ifdef USE_GNUTLS
        session->tls_init_done = FALSE;
+#endif
        return session_connect(SESSION(session), session->host,
                        session->port);
 }
@@ -1037,7 +1039,9 @@ static void sieve_session_reset(SieveSession *session)
        session->current_cmd = NULL;
        session->send_queue = NULL;
        session->state = SIEVE_CAPABILITIES;
+#ifdef USE_GNUTLS
        session->tls_init_done = FALSE;
+#endif
        session->avail_auth_type = 0;
        session->auth_type = 0;
        session->config = config;