** CID 1394567: Null pointer dereferences (FORWARD_NULL) /src/log/log.c: 1908 in __log_has_hole() *** CID 1394567: Null pointer dereferences (FORWARD_NULL) /src/log/log.c: 1908 in __log_has_hole() 1902 /* 1903 * Find where the next log record starts after the 1904 * hole. 1905 */ 1906 for (p = buf, buf_left = rdlen; buf_left > 0; 1907 buf_left -= rdlen, p += rdlen) { >>> CID 1394567: Null pointer dereferences (FORWARD_NULL) >>> Dereferencing null pointer "log". 1908 rdlen = WT_MIN(log->allocsize, buf_left); 1909 if (memcmp(p, zerobuf, rdlen) != 0) 1910 break; 1911 } 1912 /* 1913 * A presumed log record begins here where the buffer
donald.anderson, Coverity thinks that because there's a check for log == NULL earlier in the function, there's a risk of a NULL dereference here. The earlier check is:
/* * It can be very slow looking for the last real record in the log * in very small chunks. Walk a megabyte at a time. If we find a * part of the log that is not just zeroes we know this log file * has a hole in it. */ buf = zerobuf = NULL; if (log == NULL || log->allocsize < WT_MEGABYTE) bufsz = WT_MEGABYTE; else bufsz = log->allocsize;
I'm assuming this is yours since the check was just merged into develop.
- is duplicated by
-
WT-4227 log_has_hole derefencing NULL log pointer
- Closed