#5 nsd/log.c:344: error: Null Dereference pointer `valueString` last assigned on line 341 could be null and is dereferenced by call to `strlen()` at line 344, column 11. nsd/log.c:329:1: start of procedure ObjvTableLookup() 327. */ 328. 329. static int ^ 330. ObjvTableLookup(const char *path, const char *param, Ns_ObjvTable *tablePtr, int *idxPtr) 331. { nsd/log.c:333:5: 331. { 332. size_t len; 333. int result, pos = 1; ^ 334. const char *valueString; 335. nsd/log.c:336:5: 334. const char *valueString; 335. 336. NS_NONNULL_ASSERT(path != NULL); ^ 337. NS_NONNULL_ASSERT(param != NULL); 338. NS_NONNULL_ASSERT(tablePtr != NULL); nsd/log.c:337:5: 335. 336. NS_NONNULL_ASSERT(path != NULL); 337. NS_NONNULL_ASSERT(param != NULL); ^ 338. NS_NONNULL_ASSERT(tablePtr != NULL); 339. NS_NONNULL_ASSERT(idxPtr != NULL); nsd/log.c:338:5: 336. NS_NONNULL_ASSERT(path != NULL); 337. NS_NONNULL_ASSERT(param != NULL); 338. NS_NONNULL_ASSERT(tablePtr != NULL); ^ 339. NS_NONNULL_ASSERT(idxPtr != NULL); 340. nsd/log.c:339:5: 337. NS_NONNULL_ASSERT(param != NULL); 338. NS_NONNULL_ASSERT(tablePtr != NULL); 339. NS_NONNULL_ASSERT(idxPtr != NULL); ^ 340. 341. valueString = Ns_ConfigString(path, param, NS_EMPTY_STRING); nsd/log.c:341:5: 339. NS_NONNULL_ASSERT(idxPtr != NULL); 340. 341. valueString = Ns_ConfigString(path, param, NS_EMPTY_STRING); ^ 342. assert(valueString != NULL); 343. nsd/config.c:105:1: start of procedure Ns_ConfigString() 103. */ 104. 105. const char * ^ 106. Ns_ConfigString(const char *section, const char *key, const char *defaultValue) 107. { nsd/config.c:110:5: 108. const char *value; 109. 110. NS_NONNULL_ASSERT(section != NULL); ^ 111. NS_NONNULL_ASSERT(key != NULL); 112. nsd/config.c:111:5: 109. 110. NS_NONNULL_ASSERT(section != NULL); 111. NS_NONNULL_ASSERT(key != NULL); ^ 112. 113. value = ConfigGet(section, key, NS_FALSE, defaultValue); nsd/config.c:113:5: Skipping ConfigGet(): empty list of specs 111. NS_NONNULL_ASSERT(key != NULL); 112. 113. value = ConfigGet(section, key, NS_FALSE, defaultValue); ^ 114. Ns_Log(Dev, "config: %s:%s value=\"%s\" default=\"%s\" (string)", 115. section, key, nsd/config.c:116:13: Condition is false 114. Ns_Log(Dev, "config: %s:%s value=\"%s\" default=\"%s\" (string)", 115. section, key, 116. (value != NULL) ? value : NS_EMPTY_STRING, ^ 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); 118. nsd/config.c:116:12: 114. Ns_Log(Dev, "config: %s:%s value=\"%s\" default=\"%s\" (string)", 115. section, key, 116. (value != NULL) ? value : NS_EMPTY_STRING, ^ 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); 118. nsd/config.c:117:13: Condition is false 115. section, key, 116. (value != NULL) ? value : NS_EMPTY_STRING, 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); ^ 118. 119. return (value != NULL) ? value : defaultValue; nsd/config.c:117:12: 115. section, key, 116. (value != NULL) ? value : NS_EMPTY_STRING, 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); ^ 118. 119. return (value != NULL) ? value : defaultValue; nsd/config.c:114:5: 112. 113. value = ConfigGet(section, key, NS_FALSE, defaultValue); 114. Ns_Log(Dev, "config: %s:%s value=\"%s\" default=\"%s\" (string)", ^ 115. section, key, 116. (value != NULL) ? value : NS_EMPTY_STRING, nsd/log.c:716:1: start of procedure Ns_Log() 714. */ 715. 716. void ^ 717. Ns_Log(Ns_LogSeverity severity, const char *fmt, ...) 718. { nsd/log.c:721:5: 719. va_list ap; 720. 721. NS_NONNULL_ASSERT(fmt != NULL); ^ 722. 723. va_start(ap, fmt); nsd/log.c:723:5: 721. NS_NONNULL_ASSERT(fmt != NULL); 722. 723. va_start(ap, fmt); ^ 724. Ns_VALog(severity, fmt, ap); 725. va_end(ap); nsd/log.c:724:5: Skipping Ns_VALog(): empty list of specs 722. 723. va_start(ap, fmt); 724. Ns_VALog(severity, fmt, ap); ^ 725. va_end(ap); 726. } nsd/log.c:725:5: 723. va_start(ap, fmt); 724. Ns_VALog(severity, fmt, ap); 725. va_end(ap); ^ 726. } 727. nsd/log.c:726:1: return from a call to Ns_Log 724. Ns_VALog(severity, fmt, ap); 725. va_end(ap); 726. } ^ 727. 728. nsd/config.c:119:13: Condition is false 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); 118. 119. return (value != NULL) ? value : defaultValue; ^ 120. } 121. nsd/config.c:119:12: 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); 118. 119. return (value != NULL) ? value : defaultValue; ^ 120. } 121. nsd/config.c:119:5: 117. (defaultValue != NULL) ? defaultValue : NS_EMPTY_STRING); 118. 119. return (value != NULL) ? value : defaultValue; ^ 120. } 121. nsd/config.c:120:1: return from a call to Ns_ConfigString 118. 119. return (value != NULL) ? value : defaultValue; 120. } ^ 121. 122. nsd/log.c:342:5: 340. 341. valueString = Ns_ConfigString(path, param, NS_EMPTY_STRING); 342. assert(valueString != NULL); ^ 343. 344. len = strlen(valueString); nsd/log.c:344:5: 342. assert(valueString != NULL); 343. 344. len = strlen(valueString); ^ 345. if (len > 0u) { 346. Ns_ObjvSpec spec;