coverity 160163 LWS_WARN_UNUSED_RESULT needed on header apis
authorAndy Green <andy@warmcat.com>
Fri, 22 Apr 2016 23:53:46 +0000 (07:53 +0800)
committerAndy Green <andy@warmcat.com>
Sat, 23 Apr 2016 00:16:18 +0000 (08:16 +0800)
Signed-off-by: Andy Green <andy@warmcat.com>
lib/client-handshake.c
lib/libwebsockets.c
lib/libwebsockets.h
lib/private-libwebsockets.h

index 32681fe840bbfc4815093cf68dd022672ccf11da..c7e220eed7e77122d9c80cd0373bd250c339e325 100644 (file)
@@ -502,7 +502,8 @@ lws_client_connect_via_info(struct lws_client_connect_info *i)
                 * otherwise do it after the protocol negotiated
                 */
                if (i->method)
-                       lws_ensure_user_space(wsi);
+                       if (lws_ensure_user_space(wsi))
+                               goto bail;
 
 #ifdef LWS_OPENSSL_SUPPORT
        wsi->use_ssl = i->ssl_connection;
index 6fd11cee736e7def35354abcececa8262d394749..018783509395c9c594c5fa85677396b1a128b565 100644 (file)
@@ -2076,9 +2076,10 @@ lws_cgi_write_split_stdout_headers(struct lws *wsi)
                                        lwsl_debug("Content-Length: %ld\n", wsi->cgi->content_length);
                                        wsi->hdr_state = LHCS_PAYLOAD;
                                        /* drop the \0xa ... finalize will add it if needed */
-                                       lws_finalize_http_header(wsi,
+                                       if (lws_finalize_http_header(wsi,
                                                        (unsigned char **)&p,
-                                                       (unsigned char *)end);
+                                                       (unsigned char *)end))
+                                               return -1;
                                        break;
                                }
                                if (m == LCHS_LF2)
index 78832d74f23a656c2d9b7312e3b022a7c65747bb..e4dcaaefc8ecccc0d528b76189d2f9732de69de1 100644 (file)
@@ -1644,27 +1644,29 @@ lws_interface_to_sa(int ipv6, const char *ifname, struct sockaddr_in *addr,
 LWS_VISIBLE LWS_EXTERN const unsigned char *
 lws_token_to_string(enum lws_token_indexes token);
 
-LWS_VISIBLE LWS_EXTERN int
+/* all the below must be LWS_WARN_UNUSED_RESULT as they can run short */
+
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_add_http_header_by_name(struct lws *wsi, const unsigned char *name,
                            const unsigned char *value, int length,
                            unsigned char **p, unsigned char *end);
-LWS_VISIBLE LWS_EXTERN int
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_finalize_http_header(struct lws *wsi, unsigned char **p,
                         unsigned char *end);
-LWS_VISIBLE LWS_EXTERN int
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_add_http_header_by_token(struct lws *wsi, enum lws_token_indexes token,
                             const unsigned char *value, int length,
                             unsigned char **p, unsigned char *end);
-LWS_VISIBLE LWS_EXTERN int
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_add_http_header_content_length(struct lws *wsi,
                                   unsigned long content_length,
                                   unsigned char **p, unsigned char *end);
-LWS_VISIBLE LWS_EXTERN int
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_add_http_header_status(struct lws *wsi,
                           unsigned int code, unsigned char **p,
                           unsigned char *end);
 
-LWS_VISIBLE LWS_EXTERN int
+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_http_redirect(struct lws *wsi, const unsigned char *loc, int len,
                  unsigned char **p, unsigned char *end);
 
index 5c3e4cc947d8447b346baf10caddf22aa23cecbb..522ca8ec0cbbe86dcb7c427d8d6db6ec9e6d0123 100644 (file)
@@ -1498,7 +1498,7 @@ lws_hdr_simple_ptr(struct lws *wsi, enum lws_token_indexes h);
 LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_hdr_simple_create(struct lws *wsi, enum lws_token_indexes h, const char *s);
 
-LWS_EXTERN int
+LWS_EXTERN int LWS_WARN_UNUSED_RESULT
 lws_ensure_user_space(struct lws *wsi);
 
 LWS_EXTERN int