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

CID 1343359, 1343358: Coverity issues in new memcached plugin

    XMLWordPrintableJSON

Details

    • Bug
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • None
    • 7.1.0
    • Plugins

    Description

      Hi jplevyak,

      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

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

            Dates

              Created:
              Updated: