Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-4090

CID 1343359, 1343358: Coverity issues in new memcached plugin

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: In Progress
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 7.1.0
    • Component/s: Plugins
    • Labels:

      Description

      Hi John Plevyak,

      can you please take a look at this? I'm merging this new plugin into 6.1.x as well, so it'd be great to have these fixed.

      *** CID 1343359:    (DEADCODE)
      /plugins/experimental/memcache/tsmemcache.cc: 483 in MC::binary_get_event(int, void *)()
      477       if (event != TSMEMCACHE_EVENT_GOT_ITEM) {
      478         CHECK_READ_AVAIL(binary_header.request.keylen, &MC::binary_get);
      479         key = binary_get_key(this);
      480         header.nkey = binary_header.request.keylen;
      481         return get_item();
      482       } else if (event == CACHE_EVENT_OPEN_READ_FAILED) {
         CID 1343359:    (DEADCODE)
         Execution cannot reach this statement: "if ((*this).f.noreply)
       re...".
      483         if (f.noreply)
      484           return read_from_client();
      485         if (binary_header.request.opcode == PROTOCOL_BINARY_CMD_GETK) {
      486           add_binary_header(PROTOCOL_BINARY_RESPONSE_KEY_ENOENT, 0, header.nkey, header.nkey);
      487           wbuf->write(key, header.nkey);
      488           return write_then_read_from_client();
      /plugins/experimental/memcache/tsmemcache.cc: 492 in MC::binary_get_event(int, void *)()
      486           add_binary_header(PROTOCOL_BINARY_RESPONSE_KEY_ENOENT, 0, header.nkey, header.nkey);
      487           wbuf->write(key, header.nkey);
      488           return write_then_read_from_client();
      489         } else
      490           return write_binary_error(PROTOCOL_BINARY_RESPONSE_KEY_ENOENT, 0);
      491       } else if (event == CACHE_EVENT_OPEN_READ) {
         CID 1343359:    (DEADCODE)
         Execution cannot reach this statement: "rsp = &this->res.get;".
      492         protocol_binary_response_get *rsp = &res.get;
      493         uint16_t keylen = 0;
      494         uint32_t bodylen = sizeof(rsp->message.body) + (rcache_header->nbytes - 2);
      495         bool getk =
      496           (binary_header.request.opcode == PROTOCOL_BINARY_CMD_GETK || binary_header.request.opcode == PROTOCOL_BINARY_CMD_GETKQ);
      497         if (getk) {
      
      ** CID 1343358:  Uninitialized members  (UNINIT_CTOR)
      /plugins/experimental/memcache/tsmemcache.h: 95 in MCAccept::MCAccept()()
      
      
      ________________________________________________________________________________________________________
      *** CID 1343358:  Uninitialized members  (UNINIT_CTOR)
      /plugins/experimental/memcache/tsmemcache.h: 95 in MCAccept::MCAccept()()
      89       MCAccept()
      90     #ifndef HAVE_TLS
      91         : theMCThreadAllocator(NULL)
      92     #endif
      93       {
      94         SET_HANDLER(&MCAccept::main_event);
         CID 1343358:  Uninitialized members  (UNINIT_CTOR)
         Non-static class member "accept_port" is not initialized in this constructor nor in any functions that it calls.
      95       }
      96     };
      97     
      98     #define TS_PUSH_HANDLER(_h)                    \
      99       do {                                         \
      100         handler_stack[ihandler_stack++] = handler; \
      
      

        Attachments

          Activity

            People

            • Assignee:
              jrushford John Rushford
              Reporter:
              zwoop Leif Hedstrom
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: