Uploaded image for project: 'WildFly Elytron'
  1. WildFly Elytron
  2. ELY-1096

Coverity, volatile not atomically updated in RotatingFileAuditEndpoint (Elytron)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 1.1.0.Beta47
    • 1.1.0.Beta37
    • None
    • None

      There is variable currentSize marked with modifier as volatile, what hint variable currentSize is used in multithreaded manner, as volatile ensures actual value can be seen between threads.
      On the other side there is update operation on currentSize, which is not written in atomic manner, so can lead race condition.

          @Override
          protected void write(byte[] bytes) throws IOException {
              super.write(bytes);
              currentSize += bytes.length;
          }
      

      Setting as Critical as that can lead to strange / hard to reproduce errors.
      https://scan7.coverity.com/reports.htm#v23632/p11778/fileInstanceId=15443553&defectInstanceId=3634186&mergedDefectId=1429223

            yborgess1@redhat.com Yeray Borges Santana
            mchoma@redhat.com Martin Choma
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: