Repository: qpid-proton
Updated Branches:
  refs/heads/master 0816badb2 -> 3f64ad799


NO-JIRA: minor cleanups for issues uncovered by Coverity Scan.


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/3f64ad79
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/3f64ad79
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/3f64ad79

Branch: refs/heads/master
Commit: 3f64ad7998b0d42bbefe672f08110893d96a94c9
Parents: 0816bad
Author: Ken Giusti <[email protected]>
Authored: Tue Mar 10 13:13:34 2015 -0400
Committer: Ken Giusti <[email protected]>
Committed: Tue Mar 10 13:13:34 2015 -0400

----------------------------------------------------------------------
 proton-c/src/codec/codec.c         | 5 ++---
 proton-c/src/codec/encoder.c       | 1 +
 proton-c/src/posix/io.c            | 3 +++
 proton-c/src/tests/object.c        | 3 ++-
 proton-c/src/transport/transport.c | 7 +++++--
 5 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/3f64ad79/proton-c/src/codec/codec.c
----------------------------------------------------------------------
diff --git a/proton-c/src/codec/codec.c b/proton-c/src/codec/codec.c
index 3a6feb3..49a03a8 100644
--- a/proton-c/src/codec/codec.c
+++ b/proton-c/src/codec/codec.c
@@ -476,7 +476,7 @@ int pn_data_intern_node(pn_data_t *data, pni_node_t *node)
 
 int pn_data_vfill(pn_data_t *data, const char *fmt, va_list ap)
 {
-  int err;
+  int err = 0;
   while (*fmt) {
     char code = *(fmt++);
     if (!code) return 0;
@@ -656,7 +656,6 @@ int pn_data_vfill(pn_data_t *data, const char *fmt, va_list 
ap)
         pni_node_t *current = pn_data_node(data, data->current);
         current->down = 0;
         current->children = 0;
-        if (err) return err;
         parent = pn_data_node(data, data->parent);
       } else {
         break;
@@ -1455,7 +1454,7 @@ int pn_data_put_array(pn_data_t *data, bool described, 
pn_type_t type)
 void pni_data_set_array_type(pn_data_t *data, pn_type_t type)
 {
   pni_node_t *array = pn_data_current(data);
-  array->type = type;
+  if (array) array->type = type;
 }
 
 int pn_data_put_described(pn_data_t *data)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/3f64ad79/proton-c/src/codec/encoder.c
----------------------------------------------------------------------
diff --git a/proton-c/src/codec/encoder.c b/proton-c/src/codec/encoder.c
index 7e19953..fd126be 100644
--- a/proton-c/src/codec/encoder.c
+++ b/proton-c/src/codec/encoder.c
@@ -365,6 +365,7 @@ static int pni_encoder_exit(void *ctx, pn_data_t *data, 
pni_node_t *node)
       int err = pn_encoder_writef8(encoder, pn_type2code(encoder, node->type));
       if (err) return err;
     }
+    // fallthrough
   case PN_LIST:
   case PN_MAP:
     pos = encoder->position;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/3f64ad79/proton-c/src/posix/io.c
----------------------------------------------------------------------
diff --git a/proton-c/src/posix/io.c b/proton-c/src/posix/io.c
index d6d0ccd..4a7e883 100644
--- a/proton-c/src/posix/io.c
+++ b/proton-c/src/posix/io.c
@@ -135,6 +135,7 @@ pn_socket_t pn_listen(pn_io_t *io, const char *host, const 
char *port)
 
   pn_socket_t sock = pn_create_socket(addr->ai_family);
   if (sock == PN_INVALID_SOCKET) {
+    freeaddrinfo(addr);
     pn_i_error_from_errno(io->error, "pn_create_socket");
     return PN_INVALID_SOCKET;
   }
@@ -142,6 +143,7 @@ pn_socket_t pn_listen(pn_io_t *io, const char *host, const 
char *port)
   int optval = 1;
   if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) == 
-1) {
     pn_i_error_from_errno(io->error, "setsockopt");
+    freeaddrinfo(addr);
     close(sock);
     return PN_INVALID_SOCKET;
   }
@@ -176,6 +178,7 @@ pn_socket_t pn_connect(pn_io_t *io, const char *host, const 
char *port)
   pn_socket_t sock = pn_create_socket(addr->ai_family);
   if (sock == PN_INVALID_SOCKET) {
     pn_i_error_from_errno(io->error, "pn_create_socket");
+    freeaddrinfo(addr);
     return PN_INVALID_SOCKET;
   }
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/3f64ad79/proton-c/src/tests/object.c
----------------------------------------------------------------------
diff --git a/proton-c/src/tests/object.c b/proton-c/src/tests/object.c
index 5a32f60..2b213c5 100644
--- a/proton-c/src/tests/object.c
+++ b/proton-c/src/tests/object.c
@@ -854,7 +854,8 @@ void test_iterator(void)
   void *obj;
   int index = 0;
   while ((obj = pn_iterator_next(it))) {
-    assert(obj == pn_list_get(list, index++));
+    assert(obj == pn_list_get(list, index));
+    ++index;
   }
   assert(index == 4);
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/3f64ad79/proton-c/src/transport/transport.c
----------------------------------------------------------------------
diff --git a/proton-c/src/transport/transport.c 
b/proton-c/src/transport/transport.c
index 8b36389..62d4742 100644
--- a/proton-c/src/transport/transport.c
+++ b/proton-c/src/transport/transport.c
@@ -1166,6 +1166,7 @@ int pn_do_attach(pn_transport_t *transport, uint8_t 
frame_type, uint16_t channel
   pn_session_t *ssn = pn_channel_state(transport, channel);
   if (!ssn) {
       pn_do_error(transport, "amqp:connection:no-session", "attach without a 
session");
+      if (strheap) free(strheap);
       return PN_EOS;
   }
   pn_link_t *link = pn_find_link(ssn, name, is_sender);
@@ -1208,6 +1209,7 @@ int pn_do_attach(pn_transport_t *transport, uint8_t 
frame_type, uint16_t channel
     pn_data_clear(link->remote_target.capabilities);
     err = pn_data_scan(args, "D.[.....D..DL[C]...]", &code,
                        link->remote_target.capabilities);
+    if (err) return err;
     if (code == COORDINATOR) {
       pn_terminus_set_type(rtgt, PN_COORDINATOR);
     } else {
@@ -2718,9 +2720,10 @@ void pn_transport_pop(pn_transport_t *transport, size_t 
size)
 
 int pn_transport_close_head(pn_transport_t *transport)
 {
-  size_t pending = pn_transport_pending(transport);
+  ssize_t pending = pn_transport_pending(transport);
   pni_close_head(transport);
-  pn_transport_pop(transport, pending);
+  if (pending > 0)
+    pn_transport_pop(transport, pending);
   return 0;
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to