liblouis-3.33.0-6.fc44

List of Findings

Error: UNICONTROL_WARNING (CWE-94): [#def1]
/usr/share/liblouis/tables/ar-ar-math.uti:387: warning: bidirectional control characters: ['\u2069']
#  385|   base uppercase \x03a9 \x03c9 Ωω Omega
#  386|   
#  387|-> #misc⁩
#  388|   sign \x00a7 45-234 § section
#  389|   sign \x00a9 4-45-14 © copyright

Error: CPPCHECK_WARNING (CWE-457): [#def2]
liblouis-3.33.0/liblouis/compileTranslationTable.c:1194: warning[uninitvar]: Uninitialized variable: wname
# 1192|   		int kk;
# 1193|   		for (kk = 0; kk < length; kk++) wname[kk] = (widechar)characterClassNames[k][kk];
# 1194|-> 		if (!addCharacterClass(NULL, wname, length, table, 0)) {
# 1195|   			deallocateCharacterClasses(table);
# 1196|   			return 0;

Error: CPPCHECK_WARNING (CWE-476): [#def3]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2479: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: e->key
# 2477|   	e->key = malloc((key->length + 1) * CHARSIZE);
# 2478|   	if (!e->key) _lou_outOfMemory();
# 2479|-> 	e->key->length = key->length;
# 2480|   	for (j = 0; j < key->length; j++) e->key->chars[j] = key->chars[j];
# 2481|   	e->val = val;

Error: CPPCHECK_WARNING (CWE-476): [#def4]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2726: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2724|   		const int *substitutions, int substitution_count, int argument_count) {
# 2725|   	Macro *m = malloc(sizeof(Macro));
# 2726|-> 	m->name = strdup(name);
# 2727|   	widechar *definition_copy = malloc(definition_length * sizeof(widechar));
# 2728|   	memcpy(definition_copy, definition, definition_length * sizeof(widechar));

Error: CPPCHECK_WARNING (CWE-476): [#def5]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2728: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: definition_copy
# 2726|   	m->name = strdup(name);
# 2727|   	widechar *definition_copy = malloc(definition_length * sizeof(widechar));
# 2728|-> 	memcpy(definition_copy, definition, definition_length * sizeof(widechar));
# 2729|   	m->definition = definition_copy;
# 2730|   	m->definition_length = definition_length;

Error: CPPCHECK_WARNING (CWE-476): [#def6]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2729: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2727|   	widechar *definition_copy = malloc(definition_length * sizeof(widechar));
# 2728|   	memcpy(definition_copy, definition, definition_length * sizeof(widechar));
# 2729|-> 	m->definition = definition_copy;
# 2730|   	m->definition_length = definition_length;
# 2731|   	int *substitutions_copy = malloc(2 * substitution_count * sizeof(int));

Error: CPPCHECK_WARNING (CWE-476): [#def7]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2730: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2728|   	memcpy(definition_copy, definition, definition_length * sizeof(widechar));
# 2729|   	m->definition = definition_copy;
# 2730|-> 	m->definition_length = definition_length;
# 2731|   	int *substitutions_copy = malloc(2 * substitution_count * sizeof(int));
# 2732|   	memcpy(substitutions_copy, substitutions, 2 * substitution_count * sizeof(int));

Error: CPPCHECK_WARNING (CWE-476): [#def8]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2732: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: substitutions_copy
# 2730|   	m->definition_length = definition_length;
# 2731|   	int *substitutions_copy = malloc(2 * substitution_count * sizeof(int));
# 2732|-> 	memcpy(substitutions_copy, substitutions, 2 * substitution_count * sizeof(int));
# 2733|   	m->substitutions = substitutions_copy;
# 2734|   	m->substitution_count = substitution_count;

Error: CPPCHECK_WARNING (CWE-476): [#def9]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2733: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2731|   	int *substitutions_copy = malloc(2 * substitution_count * sizeof(int));
# 2732|   	memcpy(substitutions_copy, substitutions, 2 * substitution_count * sizeof(int));
# 2733|-> 	m->substitutions = substitutions_copy;
# 2734|   	m->substitution_count = substitution_count;
# 2735|   	m->argument_count = argument_count;

Error: CPPCHECK_WARNING (CWE-476): [#def10]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2734: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2732|   	memcpy(substitutions_copy, substitutions, 2 * substitution_count * sizeof(int));
# 2733|   	m->substitutions = substitutions_copy;
# 2734|-> 	m->substitution_count = substitution_count;
# 2735|   	m->argument_count = argument_count;
# 2736|   	return m;

Error: CPPCHECK_WARNING (CWE-476): [#def11]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2735: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: m
# 2733|   	m->substitutions = substitutions_copy;
# 2734|   	m->substitution_count = substitution_count;
# 2735|-> 	m->argument_count = argument_count;
# 2736|   	return m;
# 2737|   }

Error: COMPILER_WARNING (CWE-1164): [#def12]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2743:1: warning[-Wunused-function]: 'cons_macro' defined but not used
# 2743 | cons_macro(const Macro *head, const MacroList *tail) {
#      | ^~~~~~~~~~
# 2741|    */
# 2742|   static const MacroList *
# 2743|-> cons_macro(const Macro *head, const MacroList *tail) {
# 2744|   	MacroList *list = malloc(sizeof(MacroList));
# 2745|   	list->head = head;

Error: CPPCHECK_WARNING (CWE-476): [#def13]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2745: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
# 2743|   cons_macro(const Macro *head, const MacroList *tail) {
# 2744|   	MacroList *list = malloc(sizeof(MacroList));
# 2745|-> 	list->head = head;
# 2746|   	list->tail = tail;
# 2747|   	return list;

Error: CPPCHECK_WARNING (CWE-476): [#def14]
liblouis-3.33.0/liblouis/compileTranslationTable.c:2746: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
# 2744|   	MacroList *list = malloc(sizeof(MacroList));
# 2745|   	list->head = head;
# 2746|-> 	list->tail = tail;
# 2747|   	return list;
# 2748|   }

Error: COMPILER_WARNING (CWE-1164): [#def15]
liblouis-3.33.0/liblouis/compileTranslationTable.c: scope_hint: At top level
liblouis-3.33.0/liblouis/compileTranslationTable.c:2779:1: warning[-Wunused-function]: 'compileMacro' defined but not used
# 2779 | compileMacro(FileInfo *file, const Macro **macro) {
#      | ^~~~~~~~~~~~
# 2777|    */
# 2778|   static int
# 2779|-> compileMacro(FileInfo *file, const Macro **macro) {
# 2780|   
# 2781|   	// parse name

Error: COMPILER_WARNING (CWE-563): [#def16]
liblouis-3.33.0/liblouis/compileTranslationTable.c: scope_hint: In function 'compileRule'
liblouis-3.33.0/liblouis/compileTranslationTable.c:2895:30: warning[-Wunused-variable]: unused variable 'macro'
# 2895 |                 const Macro *macro;
#      |                              ^~~~~
# 2893|   	switch (opcode) {
# 2894|   	case CTO_Macro: {
# 2895|-> 		const Macro *macro;
# 2896|   #ifdef ENABLE_MACROS
# 2897|   		if (!inScopeMacros) {

Error: CPPCHECK_WARNING (CWE-476): [#def17]
liblouis-3.33.0/liblouis/compileTranslationTable.c:4669: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: cp
# 4667|   		char *searchPath_copy = strdup(searchPath);
# 4668|   		for (dir = searchPath_copy;; dir = cp + 1) {
# 4669|-> 			for (cp = dir; *cp != '\0' && *cp != ','; cp++)
# 4670|   				;
# 4671|   			last = (*cp == '\0');

Error: COMPILER_WARNING: [#def18]
liblouis-3.33.0/liblouis/compileTranslationTable.c: scope_hint: In function '_lou_defaultTableResolver'
liblouis-3.33.0/liblouis/compileTranslationTable.c:4678:51: warning[-Wformat-overflow=]: '__sprintf_chk' may write a terminating nul past the end of the destination
# 4678 |                         sprintf(tableFile, "%s%c%s", dir, DIR_SEP, table);
#      |                                                   ^
/usr/include/bits/stdio2.h:30:10: note: '__sprintf_chk' output 2 or more bytes (assuming 4097) into a destination of size 4096
#   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
#      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   31 |                                   __glibc_objsize (__s), __fmt,
#      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   32 |                                   __va_arg_pack ());
#      |                                   ~~~~~~~~~~~~~~~~~
# 4676|   				goto failure;
# 4677|   			}
# 4678|-> 			sprintf(tableFile, "%s%c%s", dir, DIR_SEP, table);
# 4679|   			if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
# 4680|   				_lou_logMessage(LOU_LOG_DEBUG, "found table %s", tableFile);

Error: COMPILER_WARNING: [#def19]
liblouis-3.33.0/liblouis/compileTranslationTable.c: scope_hint: In function '_lou_defaultTableResolver'
liblouis-3.33.0/liblouis/compileTranslationTable.c:4690:57: warning[-Wformat-overflow=]: '%s' directive writing up to 4078 bytes into a region of size between 1 and 4079
# 4690 |                         sprintf(tableFile, "%s%c%s%c%s%c%s", dir, DIR_SEP, "liblouis", DIR_SEP,
#      |                                                         ^~
/usr/include/bits/stdio2.h:30:10: note: '__sprintf_chk' output between 18 and 8174 bytes into a destination of size 4096
#   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
#      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   31 |                                   __glibc_objsize (__s), __fmt,
#      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   32 |                                   __va_arg_pack ());
#      |                                   ~~~~~~~~~~~~~~~~~
# 4688|   				goto failure;
# 4689|   			}
# 4690|-> 			sprintf(tableFile, "%s%c%s%c%s%c%s", dir, DIR_SEP, "liblouis", DIR_SEP,
# 4691|   					"tables", DIR_SEP, table);
# 4692|   			if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {

Error: CPPCHECK_WARNING (CWE-476): [#def20]
liblouis-3.33.0/liblouis/compileTranslationTable.c:4788: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: cp
# 4786|   	tableList_copy = strdup(tableList);
# 4787|   	for (subTable = tableList_copy;; subTable = cp + 1) {
# 4788|-> 		for (cp = subTable; *cp != '\0' && *cp != ','; cp++)
# 4789|   			;
# 4790|   		last = (*cp == '\0');

Error: CPPCHECK_WARNING (CWE-476): [#def21]
liblouis-3.33.0/liblouis/compileTranslationTable.c:4823: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: copy
# 4821|   	while (array[len]) len++;
# 4822|   	copy = malloc((len + 1) * sizeof(char *));
# 4823|-> 	copy[len] = NULL;
# 4824|   	while (len) {
# 4825|   		len--;

Error: CPPCHECK_WARNING (CWE-476): [#def22]
liblouis-3.33.0/liblouis/compileTranslationTable.c:4826: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: copy
# 4824|   	while (len) {
# 4825|   		len--;
# 4826|-> 		copy[len] = strdup(array[len]);
# 4827|   	}
# 4828|   	return copy;

Error: CPPCHECK_WARNING (CWE-476): [#def23]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5187: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5185|   				TranslationTableChainEntry *newEntry = malloc(entrySize);
# 5186|   				if (!newEntry) _lou_outOfMemory();
# 5187|-> 				newEntry->next = translationTableChain;
# 5188|   				newEntry->table = newTranslationTable;
# 5189|   				newEntry->tableListLength = translationTableListLen;

Error: CPPCHECK_WARNING (CWE-476): [#def24]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5188: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5186|   				if (!newEntry) _lou_outOfMemory();
# 5187|   				newEntry->next = translationTableChain;
# 5188|-> 				newEntry->table = newTranslationTable;
# 5189|   				newEntry->tableListLength = translationTableListLen;
# 5190|   				memcpy(&newEntry->tableList[0], translationTableList,

Error: CPPCHECK_WARNING (CWE-476): [#def25]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5189: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5187|   				newEntry->next = translationTableChain;
# 5188|   				newEntry->table = newTranslationTable;
# 5189|-> 				newEntry->tableListLength = translationTableListLen;
# 5190|   				memcpy(&newEntry->tableList[0], translationTableList,
# 5191|   						translationTableListLen);

Error: CPPCHECK_WARNING (CWE-476): [#def26]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5199: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5197|   				DisplayTableChainEntry *newEntry = malloc(entrySize);
# 5198|   				if (!newEntry) _lou_outOfMemory();
# 5199|-> 				newEntry->next = displayTableChain;
# 5200|   				newEntry->table = newDisplayTable;
# 5201|   				newEntry->tableListLength = displayTableListLen;

Error: CPPCHECK_WARNING (CWE-476): [#def27]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5200: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5198|   				if (!newEntry) _lou_outOfMemory();
# 5199|   				newEntry->next = displayTableChain;
# 5200|-> 				newEntry->table = newDisplayTable;
# 5201|   				newEntry->tableListLength = displayTableListLen;
# 5202|   				memcpy(&newEntry->tableList[0], displayTableList, displayTableListLen);

Error: CPPCHECK_WARNING (CWE-476): [#def28]
liblouis-3.33.0/liblouis/compileTranslationTable.c:5201: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newEntry
# 5199|   				newEntry->next = displayTableChain;
# 5200|   				newEntry->table = newDisplayTable;
# 5201|-> 				newEntry->tableListLength = displayTableListLen;
# 5202|   				memcpy(&newEntry->tableList[0], displayTableList, displayTableListLen);
# 5203|   				displayTableChain = newEntry;

Error: CPPCHECK_WARNING (CWE-476): [#def29]
liblouis-3.33.0/liblouis/logging.c:56: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logMsg
#   54|   	else
#   55|   		formatString = "0x%08X ";
#   56|-> 	for (i = 0; i < (int)strlen(msg); i++) logMsg[i] = msg[i];
#   57|   	p += strlen(msg);
#   58|   	for (i = 0; i < wlen; i++) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def30]
liblouis-3.33.0/liblouis/logging.c:56:48: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'logMsg'
liblouis-3.33.0/liblouis/logging.c:48:24: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/logging.c:56:21: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/logging.c:56:63: branch_true: ...to here
liblouis-3.33.0/liblouis/logging.c:56:48: danger: 'logMsg + (sizetype)i' could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   54|   	else
#   55|   		formatString = "0x%08X ";
#   56|-> 	for (i = 0; i < (int)strlen(msg); i++) logMsg[i] = msg[i];
#   57|   	p += strlen(msg);
#   58|   	for (i = 0; i < wlen; i++) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def31]
liblouis-3.33.0/liblouis/logging.c:154:9: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/liblouis/logging.c:148:12: branch_false: following 'false' branch (when 'format' is non-NULL)...
liblouis-3.33.0/liblouis/logging.c:149:13: branch_false: ...to here
liblouis-3.33.0/liblouis/logging.c:150:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/logging.c:151:9: branch_false: ...to here
liblouis-3.33.0/liblouis/logging.c:151:9: acquire_resource: 'va_start' called here
liblouis-3.33.0/liblouis/logging.c:154:9: danger: missing call to 'va_end' to match 'va_start' at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  152|   	vfprintf(logFile, format, argp);
#  153|   	fprintf(logFile, "\n");
#  154|-> 	fflush(logFile);
#  155|   	va_end(argp);
#  156|   #endif

Error: CPPCHECK_WARNING (CWE-476): [#def32]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:66: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   64|   	static int stringBuffersInUse[MAXPASSBUF] = { 0 };
#   65|   	StringBufferPool *pool = malloc(sizeof(StringBufferPool));
#   66|-> 	pool->size = MAXPASSBUF;
#   67|   	pool->buffers = stringBuffers;
#   68|   	pool->inUse = stringBuffersInUse;

Error: CPPCHECK_WARNING (CWE-476): [#def33]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:67: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   65|   	StringBufferPool *pool = malloc(sizeof(StringBufferPool));
#   66|   	pool->size = MAXPASSBUF;
#   67|-> 	pool->buffers = stringBuffers;
#   68|   	pool->inUse = stringBuffersInUse;
#   69|   	pool->alloc = &allocStringBuffer;

Error: CPPCHECK_WARNING (CWE-476): [#def34]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:68: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   66|   	pool->size = MAXPASSBUF;
#   67|   	pool->buffers = stringBuffers;
#   68|-> 	pool->inUse = stringBuffersInUse;
#   69|   	pool->alloc = &allocStringBuffer;
#   70|   	pool->free = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def35]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:69: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   67|   	pool->buffers = stringBuffers;
#   68|   	pool->inUse = stringBuffersInUse;
#   69|-> 	pool->alloc = &allocStringBuffer;
#   70|   	pool->free = NULL;
#   71|   	stringBufferPool = pool;

Error: CPPCHECK_WARNING (CWE-476): [#def36]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:70: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   68|   	pool->inUse = stringBuffersInUse;
#   69|   	pool->alloc = &allocStringBuffer;
#   70|-> 	pool->free = NULL;
#   71|   	stringBufferPool = pool;
#   72|   }

Error: COMPILER_WARNING (CWE-457): [#def37]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:275:31: warning[-Wmaybe-uninitialized]: 'realInlen' may be used uninitialized
#  275 |                 passPosMapping[realInlen] = output.length;
#      |                               ^
liblouis-3.33.0/liblouis/lou_backTranslateString.c:252:21: note: 'realInlen' was declared here
#  252 |                 int realInlen;
#      |                     ^~~~~~~~~
#  273|   
#  274|   		currentPass--;
#  275|-> 		passPosMapping[realInlen] = output.length;
#  276|   		if (passPosMapping == posMapping) {
#  277|   			passPosMapping = posMapping2;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def38]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:614:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*multindRule'
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1082:1: enter_function: entry to 'backTranslateString'
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1103:16: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1112:17: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1112:17: call_function: calling 'back_setBefore' from 'backTranslateString'
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1112:17: return_function: returning to 'backTranslateString' from 'back_setBefore'
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1113:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1116:25: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1116:25: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1120:22: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1120:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1125:17: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1125:17: call_function: calling 'back_selectRule' from 'backTranslateString'
#  612|   	const TranslationTableCharacter *dots = getDots(input->chars[pos], table);
#  613|   	int tryThis;
#  614|-> 	if (handleMultind(table, currentDotslen, currentOpcode, currentRule, doingMultind,
#  615|   				*multindRule))
#  616|   		return;

Error: COMPILER_WARNING (CWE-457): [#def39]
liblouis-3.33.0/liblouis/lou_backTranslateString.c:614:13: warning[-Wmaybe-uninitialized]: 'multindRule' may be used uninitialized
#  614 |         if (handleMultind(table, currentDotslen, currentOpcode, currentRule, doingMultind,
#      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  615 |                                 *multindRule))
#      |                                 ~~~~~~~~~~~~~
liblouis-3.33.0/liblouis/lou_backTranslateString.c: scope_hint: In function '_lou_backTranslate'
liblouis-3.33.0/liblouis/lou_backTranslateString.c:1098:37: note: 'multindRule' was declared here
# 1098 |         const TranslationTableRule *multindRule;
#      |                                     ^~~~~~~~~~~
#  612|   	const TranslationTableCharacter *dots = getDots(input->chars[pos], table);
#  613|   	int tryThis;
#  614|-> 	if (handleMultind(table, currentDotslen, currentOpcode, currentRule, doingMultind,
#  615|   				*multindRule))
#  616|   		return;

Error: CPPCHECK_WARNING (CWE-476): [#def40]
liblouis-3.33.0/liblouis/lou_translateString.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   70|   	static int stringBuffersInUse[MAXPASSBUF] = { 0 };
#   71|   	StringBufferPool *pool = malloc(sizeof(StringBufferPool));
#   72|-> 	pool->size = MAXPASSBUF;
#   73|   	pool->buffers = stringBuffers;
#   74|   	pool->inUse = stringBuffersInUse;

Error: CPPCHECK_WARNING (CWE-476): [#def41]
liblouis-3.33.0/liblouis/lou_translateString.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   71|   	StringBufferPool *pool = malloc(sizeof(StringBufferPool));
#   72|   	pool->size = MAXPASSBUF;
#   73|-> 	pool->buffers = stringBuffers;
#   74|   	pool->inUse = stringBuffersInUse;
#   75|   	pool->alloc = &allocStringBuffer;

Error: CPPCHECK_WARNING (CWE-476): [#def42]
liblouis-3.33.0/liblouis/lou_translateString.c:74: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   72|   	pool->size = MAXPASSBUF;
#   73|   	pool->buffers = stringBuffers;
#   74|-> 	pool->inUse = stringBuffersInUse;
#   75|   	pool->alloc = &allocStringBuffer;
#   76|   	pool->free = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def43]
liblouis-3.33.0/liblouis/lou_translateString.c:75: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   73|   	pool->buffers = stringBuffers;
#   74|   	pool->inUse = stringBuffersInUse;
#   75|-> 	pool->alloc = &allocStringBuffer;
#   76|   	pool->free = NULL;
#   77|   	stringBufferPool = pool;

Error: CPPCHECK_WARNING (CWE-476): [#def44]
liblouis-3.33.0/liblouis/lou_translateString.c:76: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: pool
#   74|   	pool->inUse = stringBuffersInUse;
#   75|   	pool->alloc = &allocStringBuffer;
#   76|-> 	pool->free = NULL;
#   77|   	stringBufferPool = pool;
#   78|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def45]
liblouis-3.33.0/liblouis/lou_translateString.c:151:65: warning[-Wanalyzer-malloc-leak]: leak of 'prepWord'
liblouis-3.33.0/liblouis/lou_translateString.c:4049:1: enter_function: entry to 'lou_hyphenate'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_true: following 'true' branch (when 'mode != 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4064:21: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4067:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4072:38: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4087:24: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4088:29: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4089:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4091:22: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4094:22: call_function: calling 'hyphenateWord' from 'lou_hyphenate'
#  149|   	static TranslationTableCharacter notFound = { NULL, -1, 0, 0, 0, CTC_Space, 0, 0, 32,
#  150|   		0, 0 };
#  151|-> 	const TranslationTableOffset bucket = table->characters[_lou_charHash(c)];
#  152|   	TranslationTableOffset offset = bucket;
#  153|   	while (offset) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def46]
liblouis-3.33.0/liblouis/lou_translateString.c:151:65: warning[-Wanalyzer-malloc-leak]: leak of 'textHyphens'
liblouis-3.33.0/liblouis/lou_translateString.c:4049:1: enter_function: entry to 'lou_hyphenate'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_true: following 'true' branch (when 'mode != 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4064:21: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4067:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4072:38: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4072:31: acquire_memory: allocated here
liblouis-3.33.0/liblouis/lou_translateString.c:4087:24: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4088:29: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4088:29: call_function: calling 'getChar' from 'lou_hyphenate'
#  149|   	static TranslationTableCharacter notFound = { NULL, -1, 0, 0, 0, CTC_Space, 0, 0, 32,
#  150|   		0, 0 };
#  151|-> 	const TranslationTableOffset bucket = table->characters[_lou_charHash(c)];
#  152|   	TranslationTableOffset offset = bucket;
#  153|   	while (offset) {

Error: CPPCHECK_WARNING (CWE-457): [#def47]
liblouis-3.33.0/liblouis/lou_translateString.c:204: error[ctuuninitvar]: Using argument transCharslen that points at uninitialized variable transCharslen
#  202|   		int *passIC, PassRuleMatch *match, TranslationTableRule **groupingRule,
#  203|   		widechar *groupingOp) {
#  204|-> 	int save_transCharslen = *transCharslen;
#  205|   	const TranslationTableRule *save_transRule = *transRule;
#  206|   	TranslationTableOpcode save_transOpcode = *transOpcode;

Error: COMPILER_WARNING (CWE-457): [#def48]
liblouis-3.33.0/liblouis/lou_translateString.c:1300:47: warning[-Wmaybe-uninitialized]: 'realInlen' may be used uninitialized
# 1300 |                 passPosMapping[output.length] = realInlen;
#      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
liblouis-3.33.0/liblouis/lou_translateString.c:1277:21: note: 'realInlen' was declared here
# 1277 |                 int realInlen;
#      |                     ^~~~~~~~~
# 1298|   			break;
# 1299|   		}
# 1300|-> 		passPosMapping[output.length] = realInlen;
# 1301|   		if (passPosMapping == posMapping) {
# 1302|   			passPosMapping = posMapping2;

Error: CPPCHECK_WARNING (CWE-476): [#def49]
liblouis-3.33.0/liblouis/lou_translateString.c:1455: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: prepWord
# 1453|   	/* prepWord is of the format ".hello."
# 1454|   	 * hyphens is the length of the word "hello" "00000" */
# 1455|-> 	prepWord[0] = '.';
# 1456|   	for (i = 0; i < wordSize; i++) {
# 1457|   		prepWord[i + 1] = toLowercase(table, getChar(word[i], table));

Error: GCC_ANALYZER_WARNING (CWE-476): [#def50]
liblouis-3.33.0/liblouis/lou_translateString.c:1455:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'prepWord'
liblouis-3.33.0/liblouis/lou_translateString.c:4049:1: enter_function: entry to 'lou_hyphenate'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: following 'false' branch (when 'mode == 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4074:17: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4089:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4091:22: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4094:22: call_function: calling 'hyphenateWord' from 'lou_hyphenate'
# 1453|   	/* prepWord is of the format ".hello."
# 1454|   	 * hyphens is the length of the word "hello" "00000" */
# 1455|-> 	prepWord[0] = '.';
# 1456|   	for (i = 0; i < wordSize; i++) {
# 1457|   		prepWord[i + 1] = toLowercase(table, getChar(word[i], table));

Error: CPPCHECK_WARNING (CWE-476): [#def51]
liblouis-3.33.0/liblouis/lou_translateString.c:1457: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: prepWord
# 1455|   	prepWord[0] = '.';
# 1456|   	for (i = 0; i < wordSize; i++) {
# 1457|-> 		prepWord[i + 1] = toLowercase(table, getChar(word[i], table));
# 1458|   		hyphens[i] = '0';
# 1459|   	}

Error: CPPCHECK_WARNING (CWE-476): [#def52]
liblouis-3.33.0/liblouis/lou_translateString.c:1460: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: prepWord
# 1458|   		hyphens[i] = '0';
# 1459|   	}
# 1460|-> 	prepWord[wordSize + 1] = '.';
# 1461|   
# 1462|   	/* now, run the finite state machine */

Error: CPPCHECK_WARNING (CWE-476): [#def53]
liblouis-3.33.0/liblouis/lou_translateString.c:1467: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: prepWord
# 1465|   	// we need to walk all of ".hello."
# 1466|   	for (i = 0; i < wordSize + 2; i++) {
# 1467|-> 		ch = prepWord[i];
# 1468|   		while (1) {
# 1469|   			if (stateNum == 0xffff) {

Error: CPPCHECK_WARNING (CWE-457): [#def54]
liblouis-3.33.0/liblouis/lou_translateString.c:2319: warning[uninitvar]: Uninitialized variable: dots
# 2317|   	}
# 2318|   
# 2319|-> 	return for_updatePositions(dots, 1, length, 0, pos, input, output, posMapping,
# 2320|   			cursorPosition, cursorStatus);
# 2321|   }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def55]
liblouis-3.33.0/liblouis/lou_translateString.c:2505:17: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'transOpcode'
liblouis-3.33.0/liblouis/lou_translateString.c:3607:1: enter_function: entry to 'translateString'
liblouis-3.33.0/liblouis/lou_translateString.c:3634:9: call_function: calling 'markSyllables' from 'translateString'
# 2503|   			tryThis++;
# 2504|   		}
# 2505|-> 		switch (transOpcode) {
# 2506|   		case CTO_Always:
# 2507|   			if (pos >= input->length) return 0;

Error: COMPILER_WARNING (CWE-563): [#def56]
liblouis-3.33.0/liblouis/lou_translateString.c: scope_hint: In function 'resolveEmphasisPassages'
liblouis-3.33.0/liblouis/lou_translateString.c:2918:26: warning[-Wunused-but-set-variable]: variable 'last_word_start' set but not used
# 2918 |         int in_word = 0, last_word_start = -1, last_word_end = -1;
#      |                          ^~~~~~~~~~~~~~~
# 2916|   		unsigned int *wordBuffer) {
# 2917|   	const TranslationTableOffset *emphRule = table->emphRules[class->rule];
# 2918|-> 	int in_word = 0, last_word_start = -1, last_word_end = -1;
# 2919|   	int in_emph_word = 0, last_emph_symbol = -1;
# 2920|   	int in_pass = 0, last_pass_word_start = -1, last_pass_word_end = -1, pass_start = -1;

Error: COMPILER_WARNING (CWE-457): [#def57]
liblouis-3.33.0/liblouis/lou_translateString.c:3927:36: warning[-Wmaybe-uninitialized]: 'repwordStart' may be used uninitialized
# 3927 |                                 if (posMapping[k] >= repwordStart) {
#      |                                    ^
liblouis-3.33.0/liblouis/lou_translateString.c: scope_hint: In function '_lou_translate'
liblouis-3.33.0/liblouis/lou_translateString.c:3628:13: note: 'repwordStart' was declared here
# 3628 |         int repwordStart;
#      |             ^~~~~~~~~~~~
# 3925|   			int k;
# 3926|   			for (k = output->length - 1; k >= 0; k--)
# 3927|-> 				if (posMapping[k] >= repwordStart) {
# 3928|   					output->chars[k + dotslen] = output->chars[k];
# 3929|   					posMapping[k + dotslen] = posMapping[k];

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
liblouis-3.33.0/liblouis/lou_translateString.c:4067:22: warning[-Wanalyzer-malloc-leak]: leak of 'inputPos'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_true: following 'true' branch (when 'mode != 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4064:21: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4066:28: acquire_memory: allocated here
liblouis-3.33.0/liblouis/lou_translateString.c:4067:22: danger: 'inputPos' leaks here; was allocated at [(7)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/6)
# 4065|   		textLen = HYPHSTRING;
# 4066|   		inputPos = malloc(textLen * sizeof(int));
# 4067|-> 		if (!lou_backTranslate(tableList, inbuf, &brailleLen, textBuffer, &textLen, NULL,
# 4068|   					NULL, NULL, inputPos, NULL, 0)) {
# 4069|   			free(inputPos);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def59]
liblouis-3.33.0/liblouis/lou_translateString.c:4080:39: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'textHyphens'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_true: following 'true' branch (when 'mode != 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4064:21: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4067:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4072:38: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4072:31: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/lou_translateString.c:4080:21: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4080:50: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4080:39: danger: 'textHyphens + (sizetype)k' could be NULL: unchecked value from [(9)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/8)
# 4078|   
# 4079|   	// initialize hyphens array
# 4080|-> 	for (k = 0; k < textLen; k++) textHyphens[k] = '0';
# 4081|   	textHyphens[k] = 0;
# 4082|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def60]
liblouis-3.33.0/liblouis/lou_translateString.c:4081:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'textHyphens'
liblouis-3.33.0/liblouis/lou_translateString.c:4060:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4060:13: branch_false: following 'false' branch (when 'inlen <= 99')...
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4063:12: branch_true: following 'true' branch (when 'mode != 0')...
liblouis-3.33.0/liblouis/lou_translateString.c:4064:21: branch_true: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4067:20: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4072:38: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4072:31: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/lou_translateString.c:4080:21: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/lou_translateString.c:4081:20: branch_false: ...to here
liblouis-3.33.0/liblouis/lou_translateString.c:4081:9: danger: 'textHyphens + (sizetype)k' could be NULL: unchecked value from [(9)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/8)
# 4079|   	// initialize hyphens array
# 4080|   	for (k = 0; k < textLen; k++) textHyphens[k] = '0';
# 4081|-> 	textHyphens[k] = 0;
# 4082|   
# 4083|   	// for every word part

Error: COMPILER_WARNING (CWE-457): [#def61]
liblouis-3.33.0/liblouis/lou_translateString.c: scope_hint: In function 'lou_hyphenate'
liblouis-3.33.0/liblouis/lou_translateString.c:4119:29: warning[-Wmaybe-uninitialized]: 'inputPos' may be used uninitialized
# 4119 |                         int braillePos = inputPos[k];
#      |                             ^~~~~~~~~~
liblouis-3.33.0/liblouis/lou_translateString.c:4055:14: note: 'inputPos' was declared here
# 4055 |         int *inputPos;
#      |              ^~~~~~~~
# 4117|   		int prevPos = -1;
# 4118|   		for (k = 0; k < textLen; k++) {
# 4119|-> 			int braillePos = inputPos[k];
# 4120|   			if (braillePos > inlen || braillePos < 0) break;
# 4121|   			if (braillePos > prevPos) {

Error: CPPCHECK_WARNING (CWE-476): [#def62]
liblouis-3.33.0/liblouis/maketable.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dots
#   89|   		;
#   90|   	dots = (widechar *)malloc((length + 1) * sizeof(widechar));
#   91|-> 	for (i = 0; i < length; i++) dots[i] = _lou_getDotsForChar(braille[i], displayTable);
#   92|   	strcpy(pattern, _lou_showDots(dots, length));
#   93|   	free(dots);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def63]
liblouis-3.33.0/liblouis/maketable.c:111:38: warning[-Wanalyzer-malloc-leak]: leak of 'rules'
liblouis-3.33.0/liblouis/maketable.c:402:1: enter_function: entry to 'findRelevantRules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:16: branch_true: following 'true' branch (when 'm != -1')...
liblouis-3.33.0/liblouis/maketable.c:466:58: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:29: call_function: calling 'printRule' from 'findRelevantRules'
#  109|   		if (rule->nocross)
#  110|   			for (char *c = "nocross "; *c; c++) rule_string[l++] = *c;
#  111|-> 		const char *opcode = _lou_findOpcodeName(rule->opcode);
#  112|   		for (size_t k = 0; k < strlen(opcode); k++) rule_string[l++] = opcode[k];
#  113|   		rule_string[l++] = '\t';

Error: GCC_ANALYZER_WARNING (CWE-401): [#def64]
liblouis-3.33.0/liblouis/maketable.c:117:42: warning[-Wanalyzer-malloc-leak]: leak of 'rules'
liblouis-3.33.0/liblouis/maketable.c:402:1: enter_function: entry to 'findRelevantRules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:16: branch_true: following 'true' branch (when 'm != -1')...
liblouis-3.33.0/liblouis/maketable.c:466:58: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:29: call_function: calling 'printRule' from 'findRelevantRules'
#  115|   		rule_string[l++] = '\t';
#  116|   		for (int k = 0; k < rule->dotslen; k++) {
#  117|-> 			rule_string[l] = _lou_getCharForDots(
#  118|   					rule->charsdots[rule->charslen + k], displayTable);
#  119|   			if (rule_string[l] == '\0') {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
liblouis-3.33.0/liblouis/maketable.c:122:33: warning[-Wanalyzer-malloc-leak]: leak of 'message'
liblouis-3.33.0/liblouis/maketable.c:116:33: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/maketable.c:117:42: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:121:57: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:122:33: danger: 'message' leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  120|   				// if a dot pattern can not be displayed, print an error message
#  121|   				char *message = (char *)malloc(50 * sizeof(char));
#  122|-> 				sprintf(message, "ERROR: provide a display rule for dots %s",
#  123|   						_lou_showDots(&rule->charsdots[rule->charslen + k], 1));
#  124|   				l = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def66]
liblouis-3.33.0/liblouis/maketable.c:122:33: warning[-Wanalyzer-malloc-leak]: leak of 'rules'
liblouis-3.33.0/liblouis/maketable.c:402:1: enter_function: entry to 'findRelevantRules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:16: branch_true: following 'true' branch (when 'm != -1')...
liblouis-3.33.0/liblouis/maketable.c:466:58: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:466:29: call_function: calling 'printRule' from 'findRelevantRules'
#  120|   				// if a dot pattern can not be displayed, print an error message
#  121|   				char *message = (char *)malloc(50 * sizeof(char));
#  122|-> 				sprintf(message, "ERROR: provide a display rule for dots %s",
#  123|   						_lou_showDots(&rule->charsdots[rule->charslen + k], 1));
#  124|   				l = 0;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def67]
liblouis-3.33.0/liblouis/maketable.c:122:33: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'message' where non-null expected
liblouis-3.33.0/liblouis/maketable.c:116:33: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/maketable.c:117:42: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:121:57: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/maketable.c:122:33: danger: argument 1 ('message') from [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2) could be NULL where non-null expected
#argument 1 of '__builtin_sprintf' must be non-null
#  120|   				// if a dot pattern can not be displayed, print an error message
#  121|   				char *message = (char *)malloc(50 * sizeof(char));
#  122|-> 				sprintf(message, "ERROR: provide a display rule for dots %s",
#  123|   						_lou_showDots(&rule->charsdots[rule->charslen + k], 1));
#  124|   				l = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def68]
liblouis-3.33.0/liblouis/maketable.c:181: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data_save
#  179|   	/* save data */
#  180|   	data_save = (char *)malloc(text_len * sizeof(char));
#  181|-> 	memcpy(data_save, data, text_len);
#  182|   
#  183|   	for (k = 0; k < text_len; k++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def69]
liblouis-3.33.0/liblouis/maketable.c:196:50: warning[-Wanalyzer-malloc-leak]: leak of 'data_save'
liblouis-3.33.0/liblouis/maketable.c:387:1: enter_function: entry to 'suggestChunks'
liblouis-3.33.0/liblouis/maketable.c:389:28: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/maketable.c:389:44: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:393:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/maketable.c:394:9: branch_false: ...to here
liblouis-3.33.0/liblouis/maketable.c:397:16: call_function: calling 'find_matching_rules' from 'suggestChunks'
#  194|   		case 2:
#  195|   			if (text_len < 2) break;
#  196|-> 			offset = table->forRules[_lou_stringHash(text, 1, table)];
#  197|   			break;
#  198|   		case 1:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
liblouis-3.33.0/liblouis/maketable.c:266:37: warning[-Wanalyzer-malloc-leak]: leak of 'data_save'
liblouis-3.33.0/liblouis/maketable.c:387:1: enter_function: entry to 'suggestChunks'
liblouis-3.33.0/liblouis/maketable.c:389:28: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/maketable.c:389:44: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:393:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/maketable.c:394:9: branch_false: ...to here
liblouis-3.33.0/liblouis/maketable.c:397:16: call_function: calling 'find_matching_rules' from 'suggestChunks'
#  264|   				goto inhibit;
#  265|   			for (k = 0; k < rule->dotslen; k++)
#  266|-> 				if (_lou_getCharForDots(rule->charsdots[rule->charslen + k],
#  267|   							displayTable) != braille[k])
#  268|   					goto inhibit;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
liblouis-3.33.0/liblouis/maketable.c:422:58: warning[-Wanalyzer-malloc-leak]: leak of 'rules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:421:36: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/maketable.c:422:47: branch_false: ...to here
liblouis-3.33.0/liblouis/maketable.c:422:58: danger: 'rules' leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  420|   			case 2:
#  421|   				if (text_len - n < 2) break;
#  422|-> 				offset = table->forRules[_lou_stringHash(&text[n], 1, table)];
#  423|   				break;
#  424|   			case 1:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def72]
liblouis-3.33.0/liblouis/maketable.c:425:60: warning[-Wanalyzer-malloc-leak]: leak of 'rules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: allocated here
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_false: following 'false' branch (when 'hash_len != 2')...
liblouis-3.33.0/liblouis/maketable.c:424:25: branch_false: ...to here
liblouis-3.33.0/liblouis/maketable.c:425:60: danger: 'rules' leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  423|   				break;
#  424|   			case 1:
#  425|-> 				offset = table->characters[_lou_charHash(text[n])];
#  426|   				while (offset) {
#  427|   					character = (TranslationTableCharacter *)&table->ruleArea[offset];

Error: GCC_ANALYZER_WARNING (CWE-476): [#def73]
liblouis-3.33.0/liblouis/maketable.c:456:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'rules'
liblouis-3.33.0/liblouis/maketable.c:413:42: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/maketable.c:416:16: branch_true: following 'true' branch...
 branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:417:36: branch_true: following 'true' branch (when 'hash_len != 0')...
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:419:25: branch_true: following 'true' branch (when 'hash_len == 2')...
liblouis-3.33.0/liblouis/maketable.c:420:25: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:435:32: branch_true: following 'true' branch (when 'offset != 0')...
liblouis-3.33.0/liblouis/maketable.c:436:70: branch_true: ...to here
liblouis-3.33.0/liblouis/maketable.c:456:33: danger: 'rules + (long unsigned int)m * 8' could be NULL: unchecked value from [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  454|   				for (k = 0; k < rule->charslen; k++)
#  455|   					if (rule->charsdots[k] != text[n + k]) goto next_rule;
#  456|-> 				rules[m++] = rule;
#  457|   				if (m == rules_len) goto finish;
#  458|   			next_rule:

Error: CPPCHECK_WARNING (CWE-476): [#def74]
liblouis-3.33.0/liblouis/metadata.c:62: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   60|   	if (!list) {
#   61|   		list = malloc(sizeof(List));
#   62|-> 		list->head = dup ? dup(x) : x;
#   63|   		list->free = free;
#   64|   		list->dup = dup;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def75]
liblouis-3.33.0/liblouis/metadata.c:62:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'list'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
#   60|   	if (!list) {
#   61|   		list = malloc(sizeof(List));
#   62|-> 		list->head = dup ? dup(x) : x;
#   63|   		list->free = free;
#   64|   		list->dup = dup;

Error: CPPCHECK_WARNING (CWE-476): [#def76]
liblouis-3.33.0/liblouis/metadata.c:63: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   61|   		list = malloc(sizeof(List));
#   62|   		list->head = dup ? dup(x) : x;
#   63|-> 		list->free = free;
#   64|   		list->dup = dup;
#   65|   		list->tail = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def77]
liblouis-3.33.0/liblouis/metadata.c:64: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   62|   		list->head = dup ? dup(x) : x;
#   63|   		list->free = free;
#   64|-> 		list->dup = dup;
#   65|   		list->tail = NULL;
#   66|   		return list;

Error: CPPCHECK_WARNING (CWE-476): [#def78]
liblouis-3.33.0/liblouis/metadata.c:65: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   63|   		list->free = free;
#   64|   		list->dup = dup;
#   65|-> 		list->tail = NULL;
#   66|   		return list;
#   67|   	} else if (!cmp) {

Error: CPPCHECK_WARNING (CWE-476): [#def79]
liblouis-3.33.0/liblouis/metadata.c:69: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l
#   67|   	} else if (!cmp) {
#   68|   		List *l = malloc(sizeof(List));
#   69|-> 		l->head = dup ? dup(x) : x;
#   70|   		l->free = free;
#   71|   		l->dup = dup;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def80]
liblouis-3.33.0/liblouis/metadata.c:69:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'l'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#   67|   	} else if (!cmp) {
#   68|   		List *l = malloc(sizeof(List));
#   69|-> 		l->head = dup ? dup(x) : x;
#   70|   		l->free = free;
#   71|   		l->dup = dup;

Error: CPPCHECK_WARNING (CWE-476): [#def81]
liblouis-3.33.0/liblouis/metadata.c:70: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l
#   68|   		List *l = malloc(sizeof(List));
#   69|   		l->head = dup ? dup(x) : x;
#   70|-> 		l->free = free;
#   71|   		l->dup = dup;
#   72|   		l->tail = list;

Error: CPPCHECK_WARNING (CWE-476): [#def82]
liblouis-3.33.0/liblouis/metadata.c:71: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l
#   69|   		l->head = dup ? dup(x) : x;
#   70|   		l->free = free;
#   71|-> 		l->dup = dup;
#   72|   		l->tail = list;
#   73|   		return l;

Error: CPPCHECK_WARNING (CWE-476): [#def83]
liblouis-3.33.0/liblouis/metadata.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l
#   70|   		l->free = free;
#   71|   		l->dup = dup;
#   72|-> 		l->tail = list;
#   73|   		return l;
#   74|   	} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
liblouis-3.33.0/liblouis/metadata.c:78:33: warning[-Wanalyzer-malloc-leak]: leak of 'strdup(*table.name)'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1111:26: return_function: returning to 'lou_listTables' from 'list_conj'
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1112:41: acquire_memory: allocated here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
#   76|   		List *l2 = NULL;
#   77|   		while (l1) {
#   78|-> 			int c = cmp(l1->head, x);
#   79|   			if (c > 0)
#   80|   				break;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def85]
liblouis-3.33.0/liblouis/metadata.c:78:33: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL '*l1.head' where non-null expected
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1112:41: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1111:26: return_function: returning to 'lou_listTables' from 'list_conj'
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
#   76|   		List *l2 = NULL;
#   77|   		while (l1) {
#   78|-> 			int c = cmp(l1->head, x);
#   79|   			if (c > 0)
#   80|   				break;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def86]
liblouis-3.33.0/liblouis/metadata.c:78:33: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'x' where non-null expected
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1111:26: return_function: returning to 'lou_listTables' from 'list_conj'
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1112:41: acquire_memory: this call could return NULL
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
#   76|   		List *l2 = NULL;
#   77|   		while (l1) {
#   78|-> 			int c = cmp(l1->head, x);
#   79|   			if (c > 0)
#   80|   				break;

Error: CPPCHECK_WARNING (CWE-476): [#def87]
liblouis-3.33.0/liblouis/metadata.c:90: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l3
#   88|   		}
#   89|   		List *l3 = malloc(sizeof(List));
#   90|-> 		l3->head = dup ? dup(x) : x;
#   91|   		l3->free = free;
#   92|   		l3->dup = dup;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def88]
liblouis-3.33.0/liblouis/metadata.c:90:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'l3'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1111:26: return_function: returning to 'lou_listTables' from 'list_conj'
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
#   88|   		}
#   89|   		List *l3 = malloc(sizeof(List));
#   90|-> 		l3->head = dup ? dup(x) : x;
#   91|   		l3->free = free;
#   92|   		l3->dup = dup;

Error: CPPCHECK_WARNING (CWE-476): [#def89]
liblouis-3.33.0/liblouis/metadata.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l3
#   89|   		List *l3 = malloc(sizeof(List));
#   90|   		l3->head = dup ? dup(x) : x;
#   91|-> 		l3->free = free;
#   92|   		l3->dup = dup;
#   93|   		l3->tail = l1;

Error: CPPCHECK_WARNING (CWE-476): [#def90]
liblouis-3.33.0/liblouis/metadata.c:92: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l3
#   90|   		l3->head = dup ? dup(x) : x;
#   91|   		l3->free = free;
#   92|-> 		l3->dup = dup;
#   93|   		l3->tail = l1;
#   94|   		if (!l2)

Error: CPPCHECK_WARNING (CWE-476): [#def91]
liblouis-3.33.0/liblouis/metadata.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: l3
#   91|   		l3->free = free;
#   92|   		l3->dup = dup;
#   93|-> 		l3->tail = l1;
#   94|   		if (!l2)
#   95|   			list = l3;

Error: CPPCHECK_WARNING (CWE-476): [#def92]
liblouis-3.33.0/liblouis/metadata.c:121: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  119|   	if (!list) return list;
#  120|   	List *d = malloc(sizeof(List));
#  121|-> 	d->head = list->dup ? list->dup(list->head) : list->head;
#  122|   	d->free = list->free;
#  123|   	d->dup = list->dup;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def93]
liblouis-3.33.0/liblouis/metadata.c:121:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'd'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  119|   	if (!list) return list;
#  120|   	List *d = malloc(sizeof(List));
#  121|-> 	d->head = list->dup ? list->dup(list->head) : list->head;
#  122|   	d->free = list->free;
#  123|   	d->dup = list->dup;

Error: CPPCHECK_WARNING (CWE-476): [#def94]
liblouis-3.33.0/liblouis/metadata.c:122: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  120|   	List *d = malloc(sizeof(List));
#  121|   	d->head = list->dup ? list->dup(list->head) : list->head;
#  122|-> 	d->free = list->free;
#  123|   	d->dup = list->dup;
#  124|   	d->tail = list_dup(list->tail);

Error: CPPCHECK_WARNING (CWE-476): [#def95]
liblouis-3.33.0/liblouis/metadata.c:123: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  121|   	d->head = list->dup ? list->dup(list->head) : list->head;
#  122|   	d->free = list->free;
#  123|-> 	d->dup = list->dup;
#  124|   	d->tail = list_dup(list->tail);
#  125|   	return d;

Error: CPPCHECK_WARNING (CWE-476): [#def96]
liblouis-3.33.0/liblouis/metadata.c:124: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  122|   	d->free = list->free;
#  123|   	d->dup = list->dup;
#  124|-> 	d->tail = list_dup(list->tail);
#  125|   	return d;
#  126|   }

Error: CPPCHECK_WARNING (CWE-476): [#def97]
liblouis-3.33.0/liblouis/metadata.c:164: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: array
#  162|   	array = malloc((1 + list_size(list)) * sizeof(void *));
#  163|   	i = 0;
#  164|-> 	for (l = list; l; l = l->tail) array[i++] = dup ? dup(l->head) : l->head;
#  165|   	array[i] = NULL;
#  166|   	return array;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def98]
liblouis-3.33.0/liblouis/metadata.c:164:40: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'array'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1109:14: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_true: following 'true' branch (when 'l' is non-NULL)...
liblouis-3.33.0/liblouis/metadata.c:1110:28: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1111:26: call_function: calling 'list_conj' from 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1111:26: return_function: returning to 'lou_listTables' from 'list_conj'
liblouis-3.33.0/liblouis/metadata.c:1109:30: branch_false: following 'false' branch (when 'l' is NULL)...
liblouis-3.33.0/liblouis/metadata.c:1114:23: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1114:23: call_function: calling 'list_toArray' from 'lou_listTables'
#  162|   	array = malloc((1 + list_size(list)) * sizeof(void *));
#  163|   	i = 0;
#  164|-> 	for (l = list; l; l = l->tail) array[i++] = dup ? dup(l->head) : l->head;
#  165|   	array[i] = NULL;
#  166|   	return array;

Error: CPPCHECK_WARNING (CWE-476): [#def99]
liblouis-3.33.0/liblouis/metadata.c:165: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: array
#  163|   	i = 0;
#  164|   	for (l = list; l; l = l->tail) array[i++] = dup ? dup(l->head) : l->head;
#  165|-> 	array[i] = NULL;
#  166|   	return array;
#  167|   }

Error: COMPILER_WARNING (CWE-1164): [#def100]
liblouis-3.33.0/liblouis/metadata.c:225:1: warning[-Wunused-function]: 'feat_dup' defined but not used
#  225 | feat_dup(Feature *f) {
#      | ^~~~~~~~
#  223|    */
#  224|   static Feature *
#  225|-> feat_dup(Feature *f) {
#  226|   	if (!f) return NULL;
#  227|   	Feature *d = malloc(sizeof(Feature));

Error: CPPCHECK_WARNING (CWE-476): [#def101]
liblouis-3.33.0/liblouis/metadata.c:228: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  226|   	if (!f) return NULL;
#  227|   	Feature *d = malloc(sizeof(Feature));
#  228|-> 	d->key = strdup(f->key);
#  229|   	d->val = f->dup ? f->dup(f->val) : f->val;
#  230|   	d->free = f->free;

Error: CPPCHECK_WARNING (CWE-476): [#def102]
liblouis-3.33.0/liblouis/metadata.c:229: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  227|   	Feature *d = malloc(sizeof(Feature));
#  228|   	d->key = strdup(f->key);
#  229|-> 	d->val = f->dup ? f->dup(f->val) : f->val;
#  230|   	d->free = f->free;
#  231|   	d->dup = f->dup;

Error: CPPCHECK_WARNING (CWE-476): [#def103]
liblouis-3.33.0/liblouis/metadata.c:230: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  228|   	d->key = strdup(f->key);
#  229|   	d->val = f->dup ? f->dup(f->val) : f->val;
#  230|-> 	d->free = f->free;
#  231|   	d->dup = f->dup;
#  232|   	return d;

Error: CPPCHECK_WARNING (CWE-476): [#def104]
liblouis-3.33.0/liblouis/metadata.c:231: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: d
#  229|   	d->val = f->dup ? f->dup(f->val) : f->val;
#  230|   	d->free = f->free;
#  231|-> 	d->dup = f->dup;
#  232|   	return d;
#  233|   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def105]
liblouis-3.33.0/liblouis/metadata.c:243:16: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'key' where non-null expected
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  241|   static int
#  242|   isLanguageTag(const char *key, int len) {
#  243|-> 	return strncasecmp("language", key, len) == 0 ||
#  244|   			strncasecmp("region", key, len) == 0 || strncasecmp("locale", key, len) == 0;
#  245|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def106]
liblouis-3.33.0/liblouis/metadata.c:265:14: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  263|   	List **tail = &list;
#  264|   	static char subtag[9];
#  265|-> 	if (!*val) return NULL;
#  266|   	if (val[0] == '*') {
#  267|   		if (val[1] && val[1] != '-') return NULL;

Error: COMPILER_WARNING: [#def107]
liblouis-3.33.0/liblouis/metadata.c:302:19: note[note]: destination object of size 0 allocated by 'malloc'
#  300|   	const List *l;
#  301|   	for (l = tag; l; l = l->tail) len = len + 1 + strlen(l->head);
#  302|-> 	char *s = malloc(len * sizeof(char));
#  303|   	s[0] = '\0';
#  304|   	for (l = tag; l; l = l->tail) {

Error: CPPCHECK_WARNING (CWE-476): [#def108]
liblouis-3.33.0/liblouis/metadata.c:303: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: s
#  301|   	for (l = tag; l; l = l->tail) len = len + 1 + strlen(l->head);
#  302|   	char *s = malloc(len * sizeof(char));
#  303|-> 	s[0] = '\0';
#  304|   	for (l = tag; l; l = l->tail) {
#  305|   		if (l != tag) s = strcat(s, "-");

Error: COMPILER_WARNING: [#def109]
liblouis-3.33.0/liblouis/metadata.c:303:9: warning[-Wstringop-overflow=]: writing 1 byte into a region of size 0
#  301|   	for (l = tag; l; l = l->tail) len = len + 1 + strlen(l->head);
#  302|   	char *s = malloc(len * sizeof(char));
#  303|-> 	s[0] = '\0';
#  304|   	for (l = tag; l; l = l->tail) {
#  305|   		if (l != tag) s = strcat(s, "-");

Error: COMPILER_WARNING: [#def110]
liblouis-3.33.0/liblouis/metadata.c: scope_hint: In function 'serializeLanguageTag'
liblouis-3.33.0/liblouis/metadata.c:303:14: warning[-Wstringop-overflow=]: writing 1 byte into a region of size 0
#  303 |         s[0] = '\0';
#      |         ~~~~~^~~~~~
liblouis-3.33.0/liblouis/metadata.c:302:19: note: destination object of size 0 allocated by 'malloc'
#  302 |         char *s = malloc(len * sizeof(char));
#      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
#  301|   	for (l = tag; l; l = l->tail) len = len + 1 + strlen(l->head);
#  302|   	char *s = malloc(len * sizeof(char));
#  303|-> 	s[0] = '\0';
#  304|   	for (l = tag; l; l = l->tail) {
#  305|   		if (l != tag) s = strcat(s, "-");

Error: CPPCHECK_WARNING (CWE-476): [#def111]
liblouis-3.33.0/liblouis/metadata.c:532: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: v
#  530|   				if (val) {
#  531|   					v = malloc(valSize + 1);
#  532|-> 					v[valSize] = '\0';
#  533|   					memcpy(v, val, valSize);
#  534|   				}

Error: CPPCHECK_WARNING (CWE-476): [#def112]
liblouis-3.33.0/liblouis/metadata.c:533: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: v
#  531|   					v = malloc(valSize + 1);
#  532|   					v[valSize] = '\0';
#  533|-> 					memcpy(v, val, valSize);
#  534|   				}
#  535|   				if (!v) goto compile_error;

Error: CPPCHECK_WARNING (CWE-476): [#def113]
liblouis-3.33.0/liblouis/metadata.c:537: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: k
#  535|   				if (!v) goto compile_error;
#  536|   				char *k = malloc(keySize + 1);
#  537|-> 				k[keySize] = '\0';
#  538|   				memcpy(k, key, keySize);
#  539|   				if (isLanguageTag(k, keySize)) {

Error: CPPCHECK_WARNING (CWE-476): [#def114]
liblouis-3.33.0/liblouis/metadata.c:538: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: k
#  536|   				char *k = malloc(keySize + 1);
#  537|   				k[keySize] = '\0';
#  538|-> 				memcpy(k, key, keySize);
#  539|   				if (isLanguageTag(k, keySize)) {
#  540|   					List *tag = parseLanguageTag(v);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
liblouis-3.33.0/liblouis/metadata.c:542:49: warning[-Wanalyzer-malloc-leak]: leak of 'k'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  540|   					List *tag = parseLanguageTag(v);
#  541|   					if (!tag) {
#  542|-> 						_lou_logMessage(LOU_LOG_ERROR, "Not a valid language tag: %s", v);
#  543|   						free(k);
#  544|   						free(v);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def116]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def117]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'f1.feature.key'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'f1.feature.val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'f2.feature.key'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def120]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'f2.feature.val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'k'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
liblouis-3.33.0/liblouis/metadata.c:557:49: warning[-Wanalyzer-malloc-leak]: leak of 'v'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  555|   															 (void (*)(void *))list_free),
#  556|   							0 };
#  557|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
liblouis-3.33.0/liblouis/metadata.c:559:49: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  557|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def124]
liblouis-3.33.0/liblouis/metadata.c:559:49: warning[-Wanalyzer-malloc-leak]: leak of 'f1.feature.val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  557|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def125]
liblouis-3.33.0/liblouis/metadata.c:559:49: warning[-Wanalyzer-malloc-leak]: leak of 'f2.feature.key'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  557|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def126]
liblouis-3.33.0/liblouis/metadata.c:559:49: warning[-Wanalyzer-malloc-leak]: leak of 'f2.feature.val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  557|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def127]
liblouis-3.33.0/liblouis/metadata.c:559:49: warning[-Wanalyzer-malloc-leak]: leak of 'k'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  557|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  558|   								f1.feature.key, v);
#  559|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def128]
liblouis-3.33.0/liblouis/metadata.c:561:60: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'malloc(40)'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  559|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'",
#  560|   								f2.feature.key, v);
#  561|-> 						features = list_conj(features,
#  562|   								memcpy(malloc(sizeof(f1)), &f1, sizeof(f1)), NULL, NULL,
#  563|   								(void (*)(void *))feat_free);

Error: CPPCHECK_WARNING (CWE-401): [#def129]
liblouis-3.33.0/liblouis/metadata.c:562: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
#  560|   								f2.feature.key, v);
#  561|   						features = list_conj(features,
#  562|-> 								memcpy(malloc(sizeof(f1)), &f1, sizeof(f1)), NULL, NULL,
#  563|   								(void (*)(void *))feat_free);
#  564|   						features = list_conj(features,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def130]
liblouis-3.33.0/liblouis/metadata.c:564:60: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'malloc(40)'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  562|   								memcpy(malloc(sizeof(f1)), &f1, sizeof(f1)), NULL, NULL,
#  563|   								(void (*)(void *))feat_free);
#  564|-> 						features = list_conj(features,
#  565|   								memcpy(malloc(sizeof(f2)), &f2, sizeof(f2)), NULL, NULL,
#  566|   								(void (*)(void *))feat_free);

Error: CPPCHECK_WARNING (CWE-401): [#def131]
liblouis-3.33.0/liblouis/metadata.c:565: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
#  563|   								(void (*)(void *))feat_free);
#  564|   						features = list_conj(features,
#  565|-> 								memcpy(malloc(sizeof(f2)), &f2, sizeof(f2)), NULL, NULL,
#  566|   								(void (*)(void *))feat_free);
#  567|   					} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def132]
liblouis-3.33.0/liblouis/metadata.c:571:49: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  569|   							feat_new(k, tag, NULL, (void (*)(void *))list_free), 0
#  570|   						};
#  571|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def133]
liblouis-3.33.0/liblouis/metadata.c:571:49: warning[-Wanalyzer-malloc-leak]: leak of 'f.feature.key'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  569|   							feat_new(k, tag, NULL, (void (*)(void *))list_free), 0
#  570|   						};
#  571|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def134]
liblouis-3.33.0/liblouis/metadata.c:571:49: warning[-Wanalyzer-malloc-leak]: leak of 'f.feature.val'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  569|   							feat_new(k, tag, NULL, (void (*)(void *))list_free), 0
#  570|   						};
#  571|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def135]
liblouis-3.33.0/liblouis/metadata.c:571:49: warning[-Wanalyzer-malloc-leak]: leak of 'k'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  569|   							feat_new(k, tag, NULL, (void (*)(void *))list_free), 0
#  570|   						};
#  571|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def136]
liblouis-3.33.0/liblouis/metadata.c:571:49: warning[-Wanalyzer-malloc-leak]: leak of 'v'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  569|   							feat_new(k, tag, NULL, (void (*)(void *))list_free), 0
#  570|   						};
#  571|-> 						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def137]
liblouis-3.33.0/liblouis/metadata.c:572:60: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'malloc(40)'
liblouis-3.33.0/liblouis/metadata.c:1047:1: enter_function: entry to 'lou_findTables'
liblouis-3.33.0/liblouis/metadata.c:1050:12: branch_false: following 'false' branch...
liblouis-3.33.0/liblouis/metadata.c:1051:31: branch_false: ...to here
liblouis-3.33.0/liblouis/metadata.c:1051:31: call_function: calling 'parseQuery' from 'lou_findTables'
#  570|   						};
#  571|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|-> 						features = list_conj(features,
#  573|   								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,
#  574|   								(void (*)(void *))feat_free);

Error: CPPCHECK_WARNING (CWE-401): [#def138]
liblouis-3.33.0/liblouis/metadata.c:573: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
#  571|   						_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  572|   						features = list_conj(features,
#  573|-> 								memcpy(malloc(sizeof(f)), &f, sizeof(f)), NULL, NULL,
#  574|   								(void (*)(void *))feat_free);
#  575|   					}

Error: CPPCHECK_WARNING (CWE-401): [#def139]
liblouis-3.33.0/liblouis/metadata.c:582: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
#  580|   					_lou_logMessage(LOU_LOG_DEBUG, "Query has feature '%s:%s'", k, v);
#  581|   					features =
#  582|-> 							list_conj(features, memcpy(malloc(sizeof(f)), &f, sizeof(f)),
#  583|   									NULL, NULL, (void (*)(void *))feat_free);
#  584|   					if (strcasecmp(k, "unicode-range") == 0) unicodeRange = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def140]
liblouis-3.33.0/liblouis/metadata.c:654: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: result
#  652|   	char *result = malloc((1 + n) * sizeof(char));
#  653|   	size_t k;
#  654|-> 	for (k = 0; k < n; k++) result[k] = (char)str[k];
#  655|   	result[k] = '\0';
#  656|   	return result;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def141]
liblouis-3.33.0/liblouis/metadata.c:654:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'result'
liblouis-3.33.0/liblouis/metadata.c:1079:1: enter_function: entry to 'lou_getTableInfo'
liblouis-3.33.0/liblouis/metadata.c:1081:26: call_function: calling 'analyzeTable' from 'lou_getTableInfo'
#  652|   	char *result = malloc((1 + n) * sizeof(char));
#  653|   	size_t k;
#  654|-> 	for (k = 0; k < n; k++) result[k] = (char)str[k];
#  655|   	result[k] = '\0';
#  656|   	return result;

Error: CPPCHECK_WARNING (CWE-476): [#def142]
liblouis-3.33.0/liblouis/metadata.c:655: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: result
#  653|   	size_t k;
#  654|   	for (k = 0; k < n; k++) result[k] = (char)str[k];
#  655|-> 	result[k] = '\0';
#  656|   	return result;
#  657|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def143]
liblouis-3.33.0/liblouis/metadata.c:698:24: warning[-Wanalyzer-file-leak]: leak of FILE 'info.in'
liblouis-3.33.0/liblouis/metadata.c:1079:1: enter_function: entry to 'lou_getTableInfo'
liblouis-3.33.0/liblouis/metadata.c:1081:26: call_function: calling 'analyzeTable' from 'lou_getTableInfo'
#  696|   		FeatureWithLineNumber *language = NULL;
#  697|   		int unicodeRange = 0;
#  698|-> 		while (_lou_getALine(&info)) {
#  699|   			if (info.linelen == 0)
#  700|   				;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def144]
liblouis-3.33.0/liblouis/metadata.c:698:24: warning[-Wanalyzer-malloc-leak]: leak of 'info.in'
liblouis-3.33.0/liblouis/metadata.c:1079:1: enter_function: entry to 'lou_getTableInfo'
liblouis-3.33.0/liblouis/metadata.c:1081:26: call_function: calling 'analyzeTable' from 'lou_getTableInfo'
#  696|   		FeatureWithLineNumber *language = NULL;
#  697|   		int unicodeRange = 0;
#  698|-> 		while (_lou_getALine(&info)) {
#  699|   			if (info.linelen == 0)
#  700|   				;

Error: CPPCHECK_WARNING (CWE-401): [#def145]
liblouis-3.33.0/liblouis/metadata.c:910: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
#  908|   		if (features) {
#  909|   			TableMeta m = { strdup(*table), features };
#  910|-> 			tableIndex = list_conj(tableIndex, memcpy(malloc(sizeof(m)), &m, sizeof(m)),
#  911|   					NULL, NULL, free);
#  912|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def146]
liblouis-3.33.0/liblouis/metadata.c:949:20: warning[-Wanalyzer-malloc-leak]: leak of 'dirName'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  947|   	DIR *dir;
#  948|   	struct dirent *file;
#  949|-> 	if ((dir = opendir(dirName))) {
#  950|   		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def147]
liblouis-3.33.0/liblouis/metadata.c:949:20: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'dirName' where non-null expected
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  947|   	DIR *dir;
#  948|   	struct dirent *file;
#  949|-> 	if ((dir = opendir(dirName))) {
#  950|   		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def148]
liblouis-3.33.0/liblouis/metadata.c:950:32: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  948|   	struct dirent *file;
#  949|   	if ((dir = opendir(dirName))) {
#  950|-> 		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);
#  952|   			if (stat(fileName, &info) == 0 && !(info.st_mode & S_IFDIR)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def149]
liblouis-3.33.0/liblouis/metadata.c:950:32: warning[-Wanalyzer-malloc-leak]: leak of 'dirName'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  948|   	struct dirent *file;
#  949|   	if ((dir = opendir(dirName))) {
#  950|-> 		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);
#  952|   			if (stat(fileName, &info) == 0 && !(info.st_mode & S_IFDIR)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def150]
liblouis-3.33.0/liblouis/metadata.c:950:32: warning[-Wanalyzer-malloc-leak]: leak of 'list'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  948|   	struct dirent *file;
#  949|   	if ((dir = opendir(dirName))) {
#  950|-> 		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);
#  952|   			if (stat(fileName, &info) == 0 && !(info.st_mode & S_IFDIR)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
liblouis-3.33.0/liblouis/metadata.c:950:32: warning[-Wanalyzer-malloc-leak]: leak of 'opendir(dirName)'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  948|   	struct dirent *file;
#  949|   	if ((dir = opendir(dirName))) {
#  950|-> 		while ((file = readdir(dir))) {
#  951|   			sprintf(fileName, "%s%c%s", dirName, DIR_SEP, file->d_name);
#  952|   			if (stat(fileName, &info) == 0 && !(info.st_mode & S_IFDIR)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def152]
liblouis-3.33.0/liblouis/metadata.c:956:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  954|   			}
#  955|   		}
#  956|-> 		closedir(dir);
#  957|   	} else {
#  958|   		_lou_logMessage(LOU_LOG_WARN, "%s is not a directory", dirName);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def153]
liblouis-3.33.0/liblouis/metadata.c:956:17: warning[-Wanalyzer-malloc-leak]: leak of 'dirName'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  954|   			}
#  955|   		}
#  956|-> 		closedir(dir);
#  957|   	} else {
#  958|   		_lou_logMessage(LOU_LOG_WARN, "%s is not a directory", dirName);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def154]
liblouis-3.33.0/liblouis/metadata.c:956:17: warning[-Wanalyzer-malloc-leak]: leak of 'list'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  954|   			}
#  955|   		}
#  956|-> 		closedir(dir);
#  957|   	} else {
#  958|   		_lou_logMessage(LOU_LOG_WARN, "%s is not a directory", dirName);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def155]
liblouis-3.33.0/liblouis/metadata.c:958:17: warning[-Wanalyzer-malloc-leak]: leak of 'dirName'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  956|   		closedir(dir);
#  957|   	} else {
#  958|-> 		_lou_logMessage(LOU_LOG_WARN, "%s is not a directory", dirName);
#  959|   	}
#  960|   	return list;

Error: CPPCHECK_WARNING (CWE-476): [#def156]
liblouis-3.33.0/liblouis/metadata.c:978: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dirName
#  976|   			;
#  977|   		dirName = malloc(n + 1);
#  978|-> 		dirName[n] = '\0';
#  979|   		memcpy(dirName, &searchPath[pos], n);
#  980|   		list = listDir(list, dirName);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def157]
liblouis-3.33.0/liblouis/metadata.c:978:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'dirName'
liblouis-3.33.0/liblouis/metadata.c:1104:1: enter_function: entry to 'lou_listTables'
liblouis-3.33.0/liblouis/metadata.c:1108:12: branch_true: following 'true' branch...
liblouis-3.33.0/liblouis/metadata.c:1108:26: branch_true: ...to here
liblouis-3.33.0/liblouis/metadata.c:1108:26: call_function: calling 'indexTablePath' from 'lou_listTables'
#  976|   			;
#  977|   		dirName = malloc(n + 1);
#  978|-> 		dirName[n] = '\0';
#  979|   		memcpy(dirName, &searchPath[pos], n);
#  980|   		list = listDir(list, dirName);

Error: CPPCHECK_WARNING (CWE-476): [#def158]
liblouis-3.33.0/liblouis/metadata.c:979: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dirName
#  977|   		dirName = malloc(n + 1);
#  978|   		dirName[n] = '\0';
#  979|-> 		memcpy(dirName, &searchPath[pos], n);
#  980|   		list = listDir(list, dirName);
#  981|   		free(dirName);

Error: CPPCHECK_WARNING (CWE-401): [#def159]
liblouis-3.33.0/liblouis/metadata.c:1058: error[leakNoVarFunctionCall]: Allocation with malloc, memcpy doesn't release it.
# 1056|   		if (quotient > 0) {
# 1057|   			TableMatch m = { strdup(table->name), quotient };
# 1058|-> 			matches = list_conj(matches, memcpy(malloc(sizeof(m)), &m, sizeof(m)),
# 1059|   					(int (*)(void *, void *))cmpMatches, NULL, free);
# 1060|   		}

Error: CPPCHECK_WARNING (CWE-476): [#def160]
liblouis-3.33.0/liblouis/metadata.c:1068: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: tablesArray
# 1066|   		tablesArray = malloc((1 + list_size(matches)) * sizeof(void *));
# 1067|   		for (List *m = matches; m; m = m->tail)
# 1068|-> 			tablesArray[i++] = ((TableMatch *)m->head)->name;
# 1069|   		tablesArray[i] = NULL;
# 1070|   		list_free(matches);

Error: CPPCHECK_WARNING (CWE-476): [#def161]
liblouis-3.33.0/liblouis/metadata.c:1069: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: tablesArray
# 1067|   		for (List *m = matches; m; m = m->tail)
# 1068|   			tablesArray[i++] = ((TableMatch *)m->head)->name;
# 1069|-> 		tablesArray[i] = NULL;
# 1070|   		list_free(matches);
# 1071|   		return tablesArray;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def162]
liblouis-3.33.0/liblouis/pattern.c:49:38: warning[-Wanalyzer-malloc-leak]: leak of 'loop_cnts'
liblouis-3.33.0/liblouis/pattern.c:1616:1: enter_function: entry to '_lou_pattern_check'
liblouis-3.33.0/liblouis/pattern.c:1622:16: call_function: calling 'pattern_check_hook' from '_lou_pattern_check'
#   47|   	TranslationTableCharacter *character;
#   48|   	TranslationTableOffset bucket;
#   49|-> 	unsigned long int makeHash = _lou_charHash(c);
#   50|   	if (m == 0) {
#   51|   		bucket = table->characters[makeHash];

Error: COMPILER_WARNING (CWE-1164): [#def163]
liblouis-3.33.0/liblouis/pattern.c:315:1: warning[-Wunused-function]: 'pattern_output' defined but not used
#  315 | pattern_output(const widechar *expr_data, const TranslationTableHeader *table) {
#      | ^~~~~~~~~~~~~~
#  313|   
#  314|   static void
#  315|-> pattern_output(const widechar *expr_data, const TranslationTableHeader *table) {
#  316|   	printf("%d    \tlength\n", expr_data[0]);
#  317|   	printf("%d    \tloops\n", expr_data[1]);

Error: COMPILER_WARNING (CWE-1164): [#def164]
liblouis-3.33.0/liblouis/pattern.c:437:1: warning[-Wunused-function]: 'pattern_print' defined but not used
#  437 | pattern_print(const widechar *expr_data, const TranslationTableHeader *table) {
#      | ^~~~~~~~~~~~~
#  435|   
#  436|   static void
#  437|-> pattern_print(const widechar *expr_data, const TranslationTableHeader *table) {
#  438|   	if (expr_data[0] > 0 && expr_data[0] != PTN_END)
#  439|   		pattern_print_expression(expr_data, 2, table);

Error: COMPILER_WARNING (CWE-1164): [#def165]
liblouis-3.33.0/liblouis/pattern.c:925:1: warning[-Wunused-function]: 'pattern_insert_alternate' defined but not used
#  925 | pattern_insert_alternate(const widechar *input, const int input_max, int *input_crs,
#      | ^~~~~~~~~~~~~~~~~~~~~~~~
#  923|   
#  924|   static int
#  925|-> pattern_insert_alternate(const widechar *input, const int input_max, int *input_crs,
#  926|   		widechar *expr_data, const int expr_max, widechar *expr_crs, widechar *loop_cnts,
#  927|   		int expr_insert, TranslationTableHeader *table, const FileInfo *nested) {

Error: CPPCHECK_WARNING (CWE-476): [#def166]
liblouis-3.33.0/liblouis/pattern.c:1608: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop_cnts
# 1606|   	input_crs = input_start;
# 1607|   	loop_cnts = malloc(expr_data[1] * sizeof(int));
# 1608|-> 	memset(loop_cnts, 0, expr_data[1] * sizeof(int));
# 1609|   	ret = pattern_check_expression(input, &input_crs, input_minmax, input_dir, expr_data,
# 1610|   			hook, hook_data, hook_max, 2, 0, 0, loop_cnts, table);

Error: UNICONTROL_WARNING (CWE-94): [#def167]
liblouis-3.33.0/tables/ar-ar-math.uti:387: warning: bidirectional control characters: ['\u2069']
#  385|   base uppercase \x03a9 \x03c9 Ωω Omega
#  386|   
#  387|-> #misc⁩
#  388|   sign \x00a7 45-234 § section
#  389|   sign \x00a9 4-45-14 © copyright

Error: GCC_ANALYZER_WARNING (CWE-401): [#def168]
liblouis-3.33.0/tools/brl_checks.c:56:15: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
liblouis-3.33.0/tools/brl_checks.c:55:15: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:56:15: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   54|   	maxlen = my_strlen_utf8_c(s);
#   55|   	buf = malloc(sizeof(widechar) * maxlen);
#   56|-> 	len = _lou_extParseChars(s, buf);
#   57|   	free(buf);
#   58|   	return len;

Error: COMPILER_WARNING (CWE-1164): [#def169]
liblouis-3.33.0/tools/brl_checks.c: scope_hint: At top level
liblouis-3.33.0/tools/brl_checks.c:62:1: warning[-Wunused-function]: 'print_int_array' defined but not used
#   62 | print_int_array(const char *prefix, int *pos_list, int len) {
#      | ^~~~~~~~~~~~~~~
#   60|   
#   61|   static void
#   62|-> print_int_array(const char *prefix, int *pos_list, int len) {
#   63|   	int i;
#   64|   	fprintf(stderr, "%s ", prefix);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def170]
liblouis-3.33.0/tools/brl_checks.c:104:24: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:141:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_true: following 'true' branch...
liblouis-3.33.0/tools/brl_checks.c:159:17: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:104:24: danger: 'expectedbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  102|   	if (in.direction < 0 || in.direction > 1) {
#  103|   		fprintf(stderr, "Invalid direction.\n");
#  104|-> 		return 1;
#  105|   	}
#  106|   	if (in.direction != 0 && in.typeform != NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def171]
liblouis-3.33.0/tools/brl_checks.c:104:24: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:140:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_true: following 'true' branch...
liblouis-3.33.0/tools/brl_checks.c:159:17: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:104:24: danger: 'outbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  102|   	if (in.direction < 0 || in.direction > 1) {
#  103|   		fprintf(stderr, "Invalid direction.\n");
#  104|-> 		return 1;
#  105|   	}
#  106|   	if (in.direction != 0 && in.typeform != NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def172]
liblouis-3.33.0/tools/brl_checks.c:104:24: warning[-Wanalyzer-malloc-leak]: leak of 'typeformbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_true: following 'true' branch (when '<unknown>' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:143:31: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:143:31: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_true: following 'true' branch...
liblouis-3.33.0/tools/brl_checks.c:159:17: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:104:24: danger: 'typeformbuf' leaks here; was allocated at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  102|   	if (in.direction < 0 || in.direction > 1) {
#  103|   		fprintf(stderr, "Invalid direction.\n");
#  104|-> 		return 1;
#  105|   	}
#  106|   	if (in.direction != 0 && in.typeform != NULL) {

Error: COMPILER_WARNING (CWE-704): [#def173]
liblouis-3.33.0/tools/brl_checks.c: scope_hint: In function 'check_base'
liblouis-3.33.0/tools/brl_checks.c:127:35: warning[-Wdiscarded-qualifiers]: passing argument 1 of 'parsed_strlen' discards 'const' qualifier from pointer target type
#  127 |         int inlen = parsed_strlen(input);
#      |                                   ^~~~~
liblouis-3.33.0/tools/brl_checks.c:51:21: note: expected 'char *' but argument is of type 'const char *'
#   51 | parsed_strlen(char *s) {
#      |               ~~~~~~^
#  125|   	}
#  126|   	widechar *inbuf, *outbuf, *expectedbuf;
#  127|-> 	int inlen = parsed_strlen(input);
#  128|   	int actualInlen;
#  129|   	const int outlen_multiplier = 4 + sizeof(widechar) * 2;

Error: COMPILER_WARNING (CWE-704): [#def174]
liblouis-3.33.0/tools/brl_checks.c:127:35: warning[-Wdiscarded-qualifiers]: passing argument 1 of 'parsed_strlen' discards 'const' qualifier from pointer target type
#  125|   	}
#  126|   	widechar *inbuf, *outbuf, *expectedbuf;
#  127|-> 	int inlen = parsed_strlen(input);
#  128|   	int actualInlen;
#  129|   	const int outlen_multiplier = 4 + sizeof(widechar) * 2;

Error: CPPCHECK_WARNING (CWE-476): [#def175]
liblouis-3.33.0/tools/brl_checks.c:144: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: typeformbuf
#  142|   	if (in.typeform != NULL) {
#  143|   		typeformbuf = malloc(outlen * sizeof(formtype));
#  144|-> 		memcpy(typeformbuf, in.typeform, inlen * sizeof(formtype));
#  145|   	}
#  146|   	if (in.cursorPos >= 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def176]
liblouis-3.33.0/tools/brl_checks.c:152:17: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:141:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:152:17: danger: 'expectedbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#  150|   		outlen = in.max_outlen;
#  151|   	}
#  152|-> 	inlen = _lou_extParseChars(input, inbuf);
#  153|   	if (!inlen) {
#  154|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def177]
liblouis-3.33.0/tools/brl_checks.c:152:17: warning[-Wanalyzer-malloc-leak]: leak of 'inbuf'
liblouis-3.33.0/tools/brl_checks.c:95:1: enter_function: entry to 'check_base'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:127:21: call_function: calling 'parsed_strlen' from 'check_base'
liblouis-3.33.0/tools/brl_checks.c:127:21: return_function: returning to 'check_base' from 'parsed_strlen'
liblouis-3.33.0/tools/brl_checks.c:137:17: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:152:17: danger: 'inbuf' leaks here; was allocated at [(8)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/7)
#  150|   		outlen = in.max_outlen;
#  151|   	}
#  152|-> 	inlen = _lou_extParseChars(input, inbuf);
#  153|   	if (!inlen) {
#  154|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def178]
liblouis-3.33.0/tools/brl_checks.c:152:17: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:140:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:152:17: danger: 'outbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  150|   		outlen = in.max_outlen;
#  151|   	}
#  152|-> 	inlen = _lou_extParseChars(input, inbuf);
#  153|   	if (!inlen) {
#  154|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def179]
liblouis-3.33.0/tools/brl_checks.c:152:17: warning[-Wanalyzer-malloc-leak]: leak of 'typeformbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_true: following 'true' branch (when '<unknown>' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:143:31: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:143:31: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:152:17: danger: 'typeformbuf' leaks here; was allocated at [(5)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/4)
#  150|   		outlen = in.max_outlen;
#  151|   	}
#  152|-> 	inlen = _lou_extParseChars(input, inbuf);
#  153|   	if (!inlen) {
#  154|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def180]
liblouis-3.33.0/tools/brl_checks.c:177:38: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:106:13: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:121:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:141:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: following 'true' branch (when '<unknown> == 1')...
liblouis-3.33.0/tools/brl_checks.c:177:38: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:177:38: danger: 'expectedbuf' leaks here; was allocated at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#  175|   	for (int k = 1; k <= 3; k++) {
#  176|   		if (direction == 1) {
#  177|-> 			funcStatus = _lou_backTranslate(tableList, in.display_table, inbuf,
#  178|   					&actualInlen, outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos,
#  179|   					&cursorPos, in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def181]
liblouis-3.33.0/tools/brl_checks.c:177:38: warning[-Wanalyzer-malloc-leak]: leak of 'inputPos'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:106:13: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:121:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_true: following 'true' branch (when 'expected_inputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:166:28: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:166:28: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: following 'false' branch (when 'expected_outputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:171:9: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: following 'true' branch (when '<unknown> == 1')...
liblouis-3.33.0/tools/brl_checks.c:177:38: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:177:38: danger: 'inputPos' leaks here; was allocated at [(13)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/12)
#  175|   	for (int k = 1; k <= 3; k++) {
#  176|   		if (direction == 1) {
#  177|-> 			funcStatus = _lou_backTranslate(tableList, in.display_table, inbuf,
#  178|   					&actualInlen, outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos,
#  179|   					&cursorPos, in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def182]
liblouis-3.33.0/tools/brl_checks.c:177:38: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:106:13: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:121:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:140:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: following 'true' branch (when '<unknown> == 1')...
liblouis-3.33.0/tools/brl_checks.c:177:38: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:177:38: danger: 'outbuf' leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#  175|   	for (int k = 1; k <= 3; k++) {
#  176|   		if (direction == 1) {
#  177|-> 			funcStatus = _lou_backTranslate(tableList, in.display_table, inbuf,
#  178|   					&actualInlen, outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos,
#  179|   					&cursorPos, in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def183]
liblouis-3.33.0/tools/brl_checks.c:177:38: warning[-Wanalyzer-malloc-leak]: leak of 'outputPos'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:106:13: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:121:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:169:29: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: following 'true' branch (when '<unknown> == 1')...
liblouis-3.33.0/tools/brl_checks.c:177:38: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:177:38: danger: 'outputPos' leaks here; was allocated at [(15)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/14)
#  175|   	for (int k = 1; k <= 3; k++) {
#  176|   		if (direction == 1) {
#  177|-> 			funcStatus = _lou_backTranslate(tableList, in.display_table, inbuf,
#  178|   					&actualInlen, outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos,
#  179|   					&cursorPos, in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def184]
liblouis-3.33.0/tools/brl_checks.c:181:38: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:141:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:181:38: danger: 'expectedbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/2)
#  179|   					&cursorPos, in.mode, NULL, NULL);
#  180|   		} else {
#  181|-> 			funcStatus = _lou_translate(tableList, in.display_table, inbuf, &actualInlen,
#  182|   					outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos, &cursorPos,
#  183|   					in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def185]
liblouis-3.33.0/tools/brl_checks.c:181:38: warning[-Wanalyzer-malloc-leak]: leak of 'inputPos'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_true: following 'true' branch (when 'expected_inputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:166:28: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:166:28: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: following 'false' branch (when 'expected_outputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:171:9: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:181:38: danger: 'inputPos' leaks here; was allocated at [(11)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/10)
#  179|   					&cursorPos, in.mode, NULL, NULL);
#  180|   		} else {
#  181|-> 			funcStatus = _lou_translate(tableList, in.display_table, inbuf, &actualInlen,
#  182|   					outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos, &cursorPos,
#  183|   					in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def186]
liblouis-3.33.0/tools/brl_checks.c:181:38: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:140:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:181:38: danger: 'outbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/2)
#  179|   					&cursorPos, in.mode, NULL, NULL);
#  180|   		} else {
#  181|-> 			funcStatus = _lou_translate(tableList, in.display_table, inbuf, &actualInlen,
#  182|   					outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos, &cursorPos,
#  183|   					in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def187]
liblouis-3.33.0/tools/brl_checks.c:181:38: warning[-Wanalyzer-malloc-leak]: leak of 'outputPos'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: following 'false' branch (when 'expected_inputPos' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:169:29: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:181:38: danger: 'outputPos' leaks here; was allocated at [(13)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/12)
#  179|   					&cursorPos, in.mode, NULL, NULL);
#  180|   		} else {
#  181|-> 			funcStatus = _lou_translate(tableList, in.display_table, inbuf, &actualInlen,
#  182|   					outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos, &cursorPos,
#  183|   					in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def188]
liblouis-3.33.0/tools/brl_checks.c:181:38: warning[-Wanalyzer-malloc-leak]: leak of 'typeformbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_true: following 'true' branch (when '<unknown>' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:143:31: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:143:31: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_true: following 'true' branch (when 'expected_inputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:166:28: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:181:38: danger: 'typeformbuf' leaks here; was allocated at [(5)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/4)
#  179|   					&cursorPos, in.mode, NULL, NULL);
#  180|   		} else {
#  181|-> 			funcStatus = _lou_translate(tableList, in.display_table, inbuf, &actualInlen,
#  182|   					outbuf, &outlen, typeformbuf, NULL, outputPos, inputPos, &cursorPos,
#  183|   					in.mode, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def189]
liblouis-3.33.0/tools/brl_checks.c:212:23: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:102:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:106:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:141:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:142:12: branch_false: following 'false' branch (when '<unknown>' is NULL)...
liblouis-3.33.0/tools/brl_checks.c:146:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:153:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:158:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:165:12: branch_true: following 'true' branch (when 'expected_inputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:166:28: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:168:12: branch_true: following 'true' branch (when 'expected_outputPos' is non-NULL)...
liblouis-3.33.0/tools/brl_checks.c:169:29: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:175:25: branch_true: following 'true' branch (when 'k != 4')...
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:176:20: branch_false: following 'false' branch (when '<unknown> != 1')...
liblouis-3.33.0/tools/brl_checks.c:181:38: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:185:20: branch_false: following 'false' branch (when 'funcStatus != 0')...
liblouis-3.33.0/tools/brl_checks.c:190:20: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:190:21: branch_true: following 'true' branch...
liblouis-3.33.0/tools/brl_checks.c:212:23: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:212:23: danger: 'expectedbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/2)
#  210|   		}
#  211|   	}
#  212|-> 	expectedlen = _lou_extParseChars(expected, expectedbuf);
#  213|   	for (i = 0; i < outlen && i < expectedlen && expectedbuf[i] == outbuf[i]; i++)
#  214|   		;

Error: CPPCHECK_WARNING (CWE-476): [#def190]
liblouis-3.33.0/tools/brl_checks.c:356: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: typeform
#  354|   	formtype *typeform = malloc(len * sizeof(formtype));
#  355|   	int i;
#  356|-> 	for (i = 0; i < len; i++) typeform[i] = typeform_string[i] - '0';
#  357|   	return typeform;
#  358|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def191]
liblouis-3.33.0/tools/brl_checks.c:356:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'typeform'
liblouis-3.33.0/tools/brl_checks.c:354:30: acquire_memory: this call could return NULL
liblouis-3.33.0/tools/brl_checks.c:356:21: branch_true: following 'true' branch (when 'i < len')...
liblouis-3.33.0/tools/brl_checks.c:356:64: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:356:35: danger: 'typeform + (sizetype)i * 2' could be NULL: unchecked value from [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  354|   	formtype *typeform = malloc(len * sizeof(formtype));
#  355|   	int i;
#  356|-> 	for (i = 0; i < len; i++) typeform[i] = typeform_string[i] - '0';
#  357|   	return typeform;
#  358|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def192]
liblouis-3.33.0/tools/brl_checks.c:382:17: warning[-Wanalyzer-malloc-leak]: leak of 'inbuf'
liblouis-3.33.0/tools/brl_checks.c:378:17: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:382:17: danger: 'inbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  380|   	inpos = malloc(sizeof(int) * inlen);
#  381|   	outpos = malloc(sizeof(int) * inlen);
#  382|-> 	inlen = _lou_extParseChars(str, inbuf);
#  383|   
#  384|   	for (i = 0; i < inlen; i++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def193]
liblouis-3.33.0/tools/brl_checks.c:382:17: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:379:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:382:17: danger: 'outbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
#  380|   	inpos = malloc(sizeof(int) * inlen);
#  381|   	outpos = malloc(sizeof(int) * inlen);
#  382|-> 	inlen = _lou_extParseChars(str, inbuf);
#  383|   
#  384|   	for (i = 0; i < inlen; i++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def194]
liblouis-3.33.0/tools/brl_checks.c:386:22: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:379:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:384:21: branch_true: following 'true' branch...
liblouis-3.33.0/tools/brl_checks.c:385:17: branch_true: ...to here
liblouis-3.33.0/tools/brl_checks.c:386:22: danger: 'outbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0)
#  384|   	for (i = 0; i < inlen; i++) {
#  385|   		cursor_pos = i;
#  386|-> 		if (!lou_translate(tableList, inbuf, &inlen, outbuf, &outlen, NULL, NULL, NULL,
#  387|   					NULL, &cursor_pos, compbrlAtCursor)) {
#  388|   			fprintf(stderr, "Translation failed.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def195]
liblouis-3.33.0/tools/brl_checks.c:426:17: warning[-Wanalyzer-malloc-leak]: leak of 'inbuf'
liblouis-3.33.0/tools/brl_checks.c:425:17: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:426:17: danger: 'inbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/0)
#  424|   	int inlen = strlen(input);
#  425|   	inbuf = malloc(sizeof(widechar) * inlen);
#  426|-> 	inlen = _lou_extParseChars(input, inbuf);
#  427|   	if (!inlen) {
#  428|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def196]
liblouis-3.33.0/tools/brl_checks.c:434:23: warning[-Wanalyzer-malloc-leak]: leak of 'expectedbuf'
liblouis-3.33.0/tools/brl_checks.c:427:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:432:27: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:433:23: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:434:23: danger: 'expectedbuf' leaks here; was allocated at [(3)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/2)
#  432|   	int expectedlen = strlen(expected);
#  433|   	expectedbuf = malloc(sizeof(widechar) * expectedlen);
#  434|-> 	expectedlen = _lou_extParseChars(expected, expectedbuf);
#  435|   	if (!expectedlen) {
#  436|   		fprintf(stderr, "Cannot parse output string.\n");

Error: COMPILER_WARNING: [#def197]
liblouis-3.33.0/tools/brl_checks.c: scope_hint: In function 'check_display'
liblouis-3.33.0/tools/brl_checks.c:452:18: warning[-Walloc-size-larger-than=]: argument 1 range [18446744065119617024, 18446744073709551612] exceeds maximum object size 9223372036854775807
#  452 |         outbuf = malloc(sizeof(widechar) * inlen);
#      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
liblouis-3.33.0/tools/brl_checks.c:26: included_from: Included from here.
liblouis-3.33.0/tools/gnulib/stdlib.h:1261:1: note: in a call to allocation function 'malloc' declared here
# 1261 | _GL_FUNCDECL_SYS (malloc, void *,
#      | ^~~~~~~~~~~~~~~~
#  450|   		}
#  451|   	}
#  452|-> 	outbuf = malloc(sizeof(widechar) * inlen);
#  453|   	if (!lou_charToDots(displayTableList, inbuf, outbuf, inlen, ucBrl)) {
#  454|   		// This should only happen if the table can not be compiled.

Error: COMPILER_WARNING: [#def198]
liblouis-3.33.0/tools/brl_checks.c:452:18: warning[-Walloc-size-larger-than=]: argument 1 range [18446744065119617024, 18446744073709551612] exceeds maximum object size 9223372036854775807
#  450|   		}
#  451|   	}
#  452|-> 	outbuf = malloc(sizeof(widechar) * inlen);
#  453|   	if (!lou_charToDots(displayTableList, inbuf, outbuf, inlen, ucBrl)) {
#  454|   		// This should only happen if the table can not be compiled.

Error: GCC_ANALYZER_WARNING (CWE-401): [#def199]
liblouis-3.33.0/tools/brl_checks.c:453:14: warning[-Wanalyzer-malloc-leak]: leak of 'outbuf'
liblouis-3.33.0/tools/brl_checks.c:427:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:432:27: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:435:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:440:12: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:440:12: branch_false: following 'false' branch...
 branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:452:18: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:453:14: danger: 'outbuf' leaks here; was allocated at [(7)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/6)
#  451|   	}
#  452|   	outbuf = malloc(sizeof(widechar) * inlen);
#  453|-> 	if (!lou_charToDots(displayTableList, inbuf, outbuf, inlen, ucBrl)) {
#  454|   		// This should only happen if the table can not be compiled.
#  455|   		// If the table does not have a display rule for a character

Error: GCC_ANALYZER_WARNING (CWE-401): [#def200]
liblouis-3.33.0/tools/brl_checks.c:512:17: warning[-Wanalyzer-malloc-leak]: leak of 'inbuf'
liblouis-3.33.0/tools/brl_checks.c:511:17: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:512:17: danger: 'inbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/0)
#  510|   
#  511|   	inbuf = malloc(sizeof(widechar) * inlen);
#  512|-> 	inlen = _lou_extParseChars(str, inbuf);
#  513|   	if (!inlen) {
#  514|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def201]
liblouis-3.33.0/tools/brl_checks.c:520:14: warning[-Wanalyzer-malloc-leak]: leak of 'hyphens'
liblouis-3.33.0/tools/brl_checks.c:513:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:518:26: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:518:19: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:520:14: danger: 'hyphens' leaks here; was allocated at [(3)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/2)
#  518|   	hyphens = calloc(inlen + 1, sizeof(char));
#  519|   
#  520|-> 	if (!lou_hyphenate(tableList, inbuf, inlen, hyphens, 0)) {
#  521|   		fprintf(stderr, "Hyphenation failed.\n");
#  522|   		retval = 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def202]
liblouis-3.33.0/tools/brl_checks.c:557:17: warning[-Wanalyzer-malloc-leak]: leak of 'inbuf'
liblouis-3.33.0/tools/brl_checks.c:556:17: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:557:17: danger: 'inbuf' leaks here; was allocated at [(1)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/0)
#  555|   
#  556|   	inbuf = malloc(sizeof(widechar) * inlen);
#  557|-> 	inlen = _lou_extParseChars(str, inbuf);
#  558|   	if (!inlen) {
#  559|   		fprintf(stderr, "Cannot parse input string.\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def203]
liblouis-3.33.0/tools/brl_checks.c:565:14: warning[-Wanalyzer-malloc-leak]: leak of 'hyphens'
liblouis-3.33.0/tools/brl_checks.c:558:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:563:26: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:563:19: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:565:14: danger: 'hyphens' leaks here; was allocated at [(3)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/2)
#  563|   	hyphens = calloc(inlen + 1, sizeof(char));
#  564|   
#  565|-> 	if (!lou_hyphenate(tableList, inbuf, inlen, hyphens, mode)) {
#  566|   		fprintf(stderr, "Hyphenation failed.\n");
#  567|   		retval = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def204]
liblouis-3.33.0/tools/brl_checks.c:579: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hyphenatedbuf
#  577|   	int i = 0;
#  578|   	int j = 0;
#  579|-> 	hyphenatedbuf[i++] = inbuf[j++];
#  580|   	for (; j < inlen; j++) {
#  581|   		if (hyphens[j] == '2')

Error: GCC_ANALYZER_WARNING (CWE-476): [#def205]
liblouis-3.33.0/tools/brl_checks.c:579:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'hyphenatedbuf'
liblouis-3.33.0/tools/brl_checks.c:558:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:563:26: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:565:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:570:13: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:570:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:576:25: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:576:25: acquire_memory: this call could return NULL
liblouis-3.33.0/tools/brl_checks.c:579:9: danger: 'hyphenatedbuf' could be NULL: unchecked value from [(7)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/6)
#  577|   	int i = 0;
#  578|   	int j = 0;
#  579|-> 	hyphenatedbuf[i++] = inbuf[j++];
#  580|   	for (; j < inlen; j++) {
#  581|   		if (hyphens[j] == '2')

Error: CPPCHECK_WARNING (CWE-476): [#def206]
liblouis-3.33.0/tools/brl_checks.c:585: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hyphenatedbuf
#  583|   		else if (hyphens[j] != '0')
#  584|   			hyphenatedbuf[i++] = (widechar)'-';
#  585|-> 		hyphenatedbuf[i++] = inbuf[j];
#  586|   	}
#  587|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def207]
liblouis-3.33.0/tools/brl_checks.c:589:22: warning[-Wanalyzer-malloc-leak]: leak of 'hyphenatedbuf'
liblouis-3.33.0/tools/brl_checks.c:558:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:563:26: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:565:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:570:13: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:570:12: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:576:25: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:576:25: acquire_memory: allocated here
liblouis-3.33.0/tools/brl_checks.c:580:16: branch_false: following 'false' branch...
liblouis-3.33.0/tools/brl_checks.c:589:22: branch_false: ...to here
liblouis-3.33.0/tools/brl_checks.c:589:22: danger: 'hyphenatedbuf' leaks here; was allocated at [(7)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/6)
#  587|   
#  588|   #ifdef WIDECHARS_ARE_UCS4
#  589|-> 	hyphenated = u32_to_u8(hyphenatedbuf, i, NULL, &hyphenatedlen);
#  590|   #else
#  591|   	hyphenated = u16_to_u8(hyphenatedbuf, i, NULL, &hyphenatedlen);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def208]
liblouis-3.33.0/tools/gnulib/fcntl.c:328:22: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:328:22: danger: missing call to 'va_end' to match 'va_start' at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  326|             #endif
#  327|               /* These actions take no argument.  */
#  328|->             result = fcntl (fd, action);
#  329|               break;
#  330|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def209]
liblouis-3.33.0/tools/gnulib/fcntl.c:424:24: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:424:24: danger: missing call to 'va_end' to match 'va_start' at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  422|               {
#  423|                 int x = va_arg (arg, int);
#  424|->               result = fcntl (fd, action, x);
#  425|               }
#  426|               break;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def210]
liblouis-3.33.0/tools/gnulib/fcntl.c:432:24: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:432:24: danger: missing call to 'va_end' to match 'va_start' at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  430|               {
#  431|                 void *p = va_arg (arg, void *);
#  432|->               result = fcntl (fd, action, p);
#  433|               }
#  434|               break;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def211]
liblouis-3.33.0/tools/gnulib/fcntl.c:482:12: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:202:1: enter_function: entry to 'rpl_fcntl'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:216:18: call_function: inlined call to 'rpl_fcntl_DUPFD' from 'rpl_fcntl'
#  480|       }
#  481|   #else
#  482|->   result = fcntl (fd, F_DUPFD, target);
#  483|   #endif
#  484|     return result;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def212]
liblouis-3.33.0/tools/gnulib/fcntl.c:512:16: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:202:1: enter_function: entry to 'rpl_fcntl'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:223:18: call_function: calling 'rpl_fcntl_DUPFD_CLOEXEC' from 'rpl_fcntl'
#  510|     if (0 <= have_dupfd_cloexec)
#  511|       {
#  512|->       result = fcntl (fd, F_DUPFD_CLOEXEC, target);
#  513|         if (0 <= result || errno != EINVAL)
#  514|           {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def213]
liblouis-3.33.0/tools/gnulib/fcntl.c:533:19: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:202:1: enter_function: entry to 'rpl_fcntl'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:223:18: call_function: calling 'rpl_fcntl_DUPFD_CLOEXEC' from 'rpl_fcntl'
#  531|     if (0 <= result && have_dupfd_cloexec == -1)
#  532|       {
#  533|->       int flags = fcntl (result, F_GETFD);
#  534|         if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1)
#  535|           {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def214]
liblouis-3.33.0/tools/gnulib/fcntl.c:534:24: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:202:1: enter_function: entry to 'rpl_fcntl'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:223:18: call_function: calling 'rpl_fcntl_DUPFD_CLOEXEC' from 'rpl_fcntl'
#  532|       {
#  533|         int flags = fcntl (result, F_GETFD);
#  534|->       if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1)
#  535|           {
#  536|             int saved_errno = errno;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def215]
liblouis-3.33.0/tools/gnulib/fcntl.c:537:11: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
liblouis-3.33.0/tools/gnulib/fcntl.c:202:1: enter_function: entry to 'rpl_fcntl'
liblouis-3.33.0/tools/gnulib/fcntl.c:210:3: acquire_resource: 'va_start' called here
liblouis-3.33.0/tools/gnulib/fcntl.c:223:18: call_function: calling 'rpl_fcntl_DUPFD_CLOEXEC' from 'rpl_fcntl'
#  535|           {
#  536|             int saved_errno = errno;
#  537|->           close (result);
#  538|             errno = saved_errno;
#  539|             result = -1;

Error: CPPCHECK_WARNING (CWE-562): [#def216]
liblouis-3.33.0/tools/gnulib/gettext.h:247: error[returnDanglingLifetime]: Returning pointer to local variable 'msg_ctxt_id' that will be invalid when returning.
#  245|   #endif
#  246|         if (found_translation)
#  247|->         return translation;
#  248|       }
#  249|     return msgid;

Error: COMPILER_WARNING: [#def217]
liblouis-3.33.0/tools/gnulib/stdlib.h:1261:1: note[note]: in a call to allocation function '[malloc](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-malloc-function-attribute)' declared here
# 1259|   /* For -Wmismatched-dealloc: Associate malloc with free or rpl_free.  */
# 1260|   #   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
# 1261|-> _GL_FUNCDECL_SYS (malloc, void *,
# 1262|                     (size_t size)
# 1263|                     _GL_ATTRIBUTE_NOTHROW

Error: GCC_ANALYZER_WARNING (CWE-401): [#def218]
liblouis-3.33.0/tools/gnulib/unistr.h:324:12: warning[-Wanalyzer-malloc-leak]: leak of 'memory'
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:40:1: enter_function: entry to 'u16_to_u8'
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:48:6: branch_false: following 'false' branch (when 'resultbuf' is NULL)...
 branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:63:10: branch_true: following 'true' branch (when 's < s_end')...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:69:42: branch_true: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:70:10: branch_false: following 'false' branch...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:77:9: branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:80:15: call_function: calling 'u8_uctomb' from 'u16_to_u8'
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:80:15: return_function: returning to 'u16_to_u8' from 'u8_uctomb'
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:81:10: branch_false: following 'false' branch...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:88:10: branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:88:10: branch_true: following 'true' branch...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:92:23: branch_true: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:92:23: branch_false: following 'false' branch (when 'allocated == 0')...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:93:15: branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:95:14: branch_true: following 'true' branch...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:96:35: branch_true: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:96:35: acquire_memory: allocated here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:101:14: branch_false: following 'false' branch (when 'memory' is non-NULL)...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:108:38: branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:108:14: branch_false: following 'false' branch...
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:112:51: branch_false: ...to here
liblouis-3.33.0/tools/gnulib/unistr/u16-to-u8.c:112:19: call_function: calling 'u8_uctomb' from 'u16_to_u8'
#  322|       }
#  323|     else
#  324|->     return u8_uctomb_aux (s, uc, n);
#  325|   }
#  326|   # endif

Error: CPPCHECK_WARNING (CWE-476): [#def219]
liblouis-3.33.0/tools/lou_checkyaml.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: query_as_string
#  139|   	char *query_as_string = malloc(sizeof(char) * MAXSTRING);
#  140|   	char *p = query_as_string;
#  141|-> 	query_as_string[0] = '\0';
#  142|   	while (1) {
#  143|   		if (!yaml_parser_parse(parser, &event)) yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def220]
liblouis-3.33.0/tools/lou_checkyaml.c:141:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘query_as_string’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  139|   	char *query_as_string = malloc(sizeof(char) * MAXSTRING);
#  140|   	char *p = query_as_string;
#  141|-> 	query_as_string[0] = '\0';
#  142|   	while (1) {
#  143|   		if (!yaml_parser_parse(parser, &event)) yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def221]
liblouis-3.33.0/tools/lou_checkyaml.c:143:22: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  141|   	query_as_string[0] = '\0';
#  142|   	while (1) {
#  143|-> 		if (!yaml_parser_parse(parser, &event)) yaml_error(YAML_SCALAR_EVENT, &event);
#  144|   		if (event.type == YAML_SCALAR_EVENT) {
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def222]
liblouis-3.33.0/tools/lou_checkyaml.c:143:22: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  141|   	query_as_string[0] = '\0';
#  142|   	while (1) {
#  143|-> 		if (!yaml_parser_parse(parser, &event)) yaml_error(YAML_SCALAR_EVENT, &event);
#  144|   		if (event.type == YAML_SCALAR_EVENT) {
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def223]
liblouis-3.33.0/tools/lou_checkyaml.c:143:22: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  141|   	query_as_string[0] = '\0';
#  142|   	while (1) {
#  143|-> 		if (!yaml_parser_parse(parser, &event)) yaml_error(YAML_SCALAR_EVENT, &event);
#  144|   		if (event.type == YAML_SCALAR_EVENT) {
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def224]
liblouis-3.33.0/tools/lou_checkyaml.c:149:33: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  147|   			// table
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|-> 				yaml_event_delete(&event);
#  150|   				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def225]
liblouis-3.33.0/tools/lou_checkyaml.c:149:33: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  147|   			// table
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|-> 				yaml_event_delete(&event);
#  150|   				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def226]
liblouis-3.33.0/tools/lou_checkyaml.c:149:33: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  147|   			// table
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|-> 				yaml_event_delete(&event);
#  150|   				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def227]
liblouis-3.33.0/tools/lou_checkyaml.c:150:38: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|   				yaml_event_delete(&event);
#  150|-> 				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def228]
liblouis-3.33.0/tools/lou_checkyaml.c:150:38: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|   				yaml_event_delete(&event);
#  150|-> 				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def229]
liblouis-3.33.0/tools/lou_checkyaml.c:150:38: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  148|   			if (!strcmp((const char *)event.data.scalar.value, "__assert-match")) {
#  149|   				yaml_event_delete(&event);
#  150|-> 				if (!yaml_parser_parse(parser, &event) ||
#  151|   						(event.type != YAML_SCALAR_EVENT))
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def230]
liblouis-3.33.0/tools/lou_checkyaml.c:153:33: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  151|   						(event.type != YAML_SCALAR_EVENT))
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);
#  153|-> 				*table_file_name_check = strdup((const char *)event.data.scalar.value);
#  154|   				yaml_event_delete(&event);
#  155|   			} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def231]
liblouis-3.33.0/tools/lou_checkyaml.c:154:33: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);
#  153|   				*table_file_name_check = strdup((const char *)event.data.scalar.value);
#  154|-> 				yaml_event_delete(&event);
#  155|   			} else {
#  156|   				if (query_as_string != p) strcat(p++, " ");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def232]
liblouis-3.33.0/tools/lou_checkyaml.c:154:33: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);
#  153|   				*table_file_name_check = strdup((const char *)event.data.scalar.value);
#  154|-> 				yaml_event_delete(&event);
#  155|   			} else {
#  156|   				if (query_as_string != p) strcat(p++, " ");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def233]
liblouis-3.33.0/tools/lou_checkyaml.c:154:33: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  152|   					yaml_error(YAML_SCALAR_EVENT, &event);
#  153|   				*table_file_name_check = strdup((const char *)event.data.scalar.value);
#  154|-> 				yaml_event_delete(&event);
#  155|   			} else {
#  156|   				if (query_as_string != p) strcat(p++, " ");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def234]
liblouis-3.33.0/tools/lou_checkyaml.c:160:33: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  158|   				p += event.data.scalar.length;
#  159|   				strcat(p++, ":");
#  160|-> 				yaml_event_delete(&event);
#  161|   				if (!yaml_parser_parse(parser, &event) ||
#  162|   						(event.type != YAML_SCALAR_EVENT))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def235]
liblouis-3.33.0/tools/lou_checkyaml.c:161:38: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  159|   				strcat(p++, ":");
#  160|   				yaml_event_delete(&event);
#  161|-> 				if (!yaml_parser_parse(parser, &event) ||
#  162|   						(event.type != YAML_SCALAR_EVENT))
#  163|   					yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def236]
liblouis-3.33.0/tools/lou_checkyaml.c:166:33: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  164|   				strcat(p, (const char *)event.data.scalar.value);
#  165|   				p += event.data.scalar.length;
#  166|-> 				yaml_event_delete(&event);
#  167|   			}
#  168|   		} else if (event.type == YAML_MAPPING_END_EVENT) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def237]
liblouis-3.33.0/tools/lou_checkyaml.c:169:25: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  167|   			}
#  168|   		} else if (event.type == YAML_MAPPING_END_EVENT) {
#  169|-> 			yaml_event_delete(&event);
#  170|   			break;
#  171|   		} else

Error: CPPCHECK_WARNING (CWE-476): [#def238]
liblouis-3.33.0/tools/lou_checkyaml.c:211: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: table_name
#  209|   	char *table_content = NULL;
#  210|   	yaml_event_t event;
#  211|-> 	table_name[0] = '\0';
#  212|   	if (!yaml_parser_parse(parser, &event) ||
#  213|   			!(event.type == YAML_SEQUENCE_START_EVENT ||

Error: GCC_ANALYZER_WARNING (CWE-476): [#def239]
liblouis-3.33.0/tools/lou_checkyaml.c:211:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: this call could return NULL
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  209|   	char *table_content = NULL;
#  210|   	yaml_event_t event;
#  211|-> 	table_name[0] = '\0';
#  212|   	if (!yaml_parser_parse(parser, &event) ||
#  213|   			!(event.type == YAML_SEQUENCE_START_EVENT ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def240]
liblouis-3.33.0/tools/lou_checkyaml.c:212:14: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  210|   	yaml_event_t event;
#  211|   	table_name[0] = '\0';
#  212|-> 	if (!yaml_parser_parse(parser, &event) ||
#  213|   			!(event.type == YAML_SEQUENCE_START_EVENT ||
#  214|   					event.type == YAML_SCALAR_EVENT ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def241]
liblouis-3.33.0/tools/lou_checkyaml.c:221:17: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  219|   				event_names[YAML_MAPPING_START_EVENT], event_names[event.type]);
#  220|   	if (event.type == YAML_SEQUENCE_START_EVENT) {
#  221|-> 		yaml_event_delete(&event);
#  222|   		int done = 0;
#  223|   		char *p = table_name;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def242]
liblouis-3.33.0/tools/lou_checkyaml.c:225:30: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  223|   		char *p = table_name;
#  224|   		while (!done) {
#  225|-> 			if (!yaml_parser_parse(parser, &event)) {
#  226|   				yaml_parse_error(parser);
#  227|   			}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def243]
liblouis-3.33.0/tools/lou_checkyaml.c:235:25: warning[-Wanalyzer-malloc-leak]: leak of ‘p’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  233|   				p += event.data.scalar.length;
#  234|   			}
#  235|-> 			yaml_event_delete(&event);
#  236|   		}
#  237|   	} else if (event.type == YAML_SCALAR_EVENT) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def244]
liblouis-3.33.0/tools/lou_checkyaml.c:250:17: warning[-Wanalyzer-malloc-leak]: leak of ‘table_content’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  248|   			strcat(table_name, (const char *)event.data.scalar.value);
#  249|   		}
#  250|-> 		yaml_event_delete(&event);
#  251|   	} else {  // event.type == YAML_MAPPING_START_EVENT
#  252|   		char *query;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def245]
liblouis-3.33.0/tools/lou_checkyaml.c:250:17: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  248|   			strcat(table_name, (const char *)event.data.scalar.value);
#  249|   		}
#  250|-> 		yaml_event_delete(&event);
#  251|   	} else {  // event.type == YAML_MAPPING_START_EVENT
#  252|   		char *query;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def246]
liblouis-3.33.0/tools/lou_checkyaml.c:254:17: warning[-Wanalyzer-malloc-leak]: leak of ‘table_name’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  252|   		char *query;
#  253|   		const char *table_file_name_check = NULL;
#  254|-> 		yaml_event_delete(&event);
#  255|   		query = read_table_query(parser, &table_file_name_check);
#  256|   		free(table_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def247]
liblouis-3.33.0/tools/lou_checkyaml.c:257:30: warning[-Wanalyzer-malloc-leak]: leak of ‘read_table_query(parser, & table_file_name_check)’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  255|   		query = read_table_query(parser, &table_file_name_check);
#  256|   		free(table_name);
#  257|-> 		table_name = lou_findTable(query);
#  258|   		free(query);
#  259|   		if (!table_name)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def248]
liblouis-3.33.0/tools/lou_checkyaml.c:257:30: warning[-Wanalyzer-malloc-leak]: leak of ‘table_file_name_check’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  255|   		query = read_table_query(parser, &table_file_name_check);
#  256|   		free(table_name);
#  257|-> 		table_name = lou_findTable(query);
#  258|   		free(query);
#  259|   		if (!table_name)

Error: COMPILER_WARNING (CWE-704): [#def249]
liblouis-3.33.0/tools/lou_checkyaml.c: scope_hint: In function ‘read_table_value’
liblouis-3.33.0/tools/lou_checkyaml.c:275:30: warning[-Wdiscarded-qualifiers]: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type
#  275 |                         free(table_file_name_check);
#      |                              ^~~~~~~~~~~~~~~~~~~~~
liblouis-3.33.0/tools/gnulib/stdlib.h:51: included_from: Included from here.
liblouis-3.33.0/tools/lou_checkyaml.c:26: included_from: Included from here.
/usr/include/stdlib.h:687:25: note: expected ‘void *’ but argument is of type ‘const char *’
#  687 | extern void free (void *__ptr) __THROW;
#      |                   ~~~~~~^~~~~
#  273|   						"'%s'",
#  274|   						table_file_name_check, table_file_name + 1);
#  275|-> 			free(table_file_name_check);
#  276|   		}
#  277|   	}

Error: COMPILER_WARNING (CWE-704): [#def250]
liblouis-3.33.0/tools/lou_checkyaml.c:275:30: warning[-Wdiscarded-qualifiers]: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type
#  273|   						"'%s'",
#  274|   						table_file_name_check, table_file_name + 1);
#  275|-> 			free(table_file_name_check);
#  276|   		}
#  277|   	}

Error: CPPCHECK_WARNING (CWE-476): [#def251]
liblouis-3.33.0/tools/lou_checkyaml.c:279: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: table
#  277|   	}
#  278|   	table = malloc(sizeof(table_value));
#  279|-> 	table->name = table_name;
#  280|   	table->content = table_content;
#  281|   	table->location = start_line + 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def252]
liblouis-3.33.0/tools/lou_checkyaml.c:279:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘table’
liblouis-3.33.0/tools/lou_checkyaml.c:973:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1058:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1062:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1066:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1069:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1068:13: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1072:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1074:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1079:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1083:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1087:55: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1086:21: branch_true: following ‘true’ branch (when the strings are equal)...
liblouis-3.33.0/tools/lou_checkyaml.c:1089:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1090:29: call_function: calling ‘read_table_value’ from ‘main’
#  277|   	}
#  278|   	table = malloc(sizeof(table_value));
#  279|-> 	table->name = table_name;
#  280|   	table->content = table_content;
#  281|   	table->location = start_line + 1;

Error: CPPCHECK_WARNING (CWE-476): [#def253]
liblouis-3.33.0/tools/lou_checkyaml.c:280: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: table
#  278|   	table = malloc(sizeof(table_value));
#  279|   	table->name = table_name;
#  280|-> 	table->content = table_content;
#  281|   	table->location = start_line + 1;
#  282|   	table->is_display = is_display;

Error: CPPCHECK_WARNING (CWE-476): [#def254]
liblouis-3.33.0/tools/lou_checkyaml.c:281: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: table
#  279|   	table->name = table_name;
#  280|   	table->content = table_content;
#  281|-> 	table->location = start_line + 1;
#  282|   	table->is_display = is_display;
#  283|   	return table;

Error: CPPCHECK_WARNING (CWE-476): [#def255]
liblouis-3.33.0/tools/lou_checkyaml.c:282: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: table
#  280|   	table->content = table_content;
#  281|   	table->location = start_line + 1;
#  282|-> 	table->is_display = is_display;
#  283|   	return table;
#  284|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def256]
liblouis-3.33.0/tools/lou_checkyaml.c:383:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  381|   	int xfail = 1;	// assume a truthy value
#  382|   
#  383|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  384|   		yaml_error(YAML_SCALAR_EVENT, &event);
#  385|   	if (!strcmp((const char *)event.data.scalar.value, "false") ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def257]
liblouis-3.33.0/tools/lou_checkyaml.c:388:9: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  386|   			!strcmp((const char *)event.data.scalar.value, "off"))
#  387|   		xfail = 0;	// only "false" and "off" are falsy values
#  388|-> 	yaml_event_delete(&event);
#  389|   	return xfail;
#  390|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def258]
liblouis-3.33.0/tools/lou_checkyaml.c:395:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  393|   read_xfail(yaml_parser_t *parser) {
#  394|   	yaml_event_t event;
#  395|-> 	if (!yaml_parser_parse(parser, &event) ||
#  396|   			!(event.type == YAML_SCALAR_EVENT || event.type == YAML_MAPPING_START_EVENT))
#  397|   		error_at_line(EXIT_FAILURE, 0, file_name, event.start_mark.line + 1,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def259]
liblouis-3.33.0/tools/lou_checkyaml.c:409:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  407|   				!strcmp((const char *)event.data.scalar.value, "off"))
#  408|   			xfail = XFAIL_NONE;
#  409|-> 		yaml_event_delete(&event);
#  410|   		return xfail;
#  411|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def260]
liblouis-3.33.0/tools/lou_checkyaml.c:417:39: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  415|   		int xfail_forward = 0;	/* if either direction is not specified `false` */
#  416|   		int xfail_backward = 0; /* is assumed */
#  417|-> 		while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  418|   				(event.type == YAML_SCALAR_EVENT)) {
#  419|   			if (strcmp((const char *)event.data.scalar.value, "forward") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def261]
liblouis-3.33.0/tools/lou_checkyaml.c:420:33: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  418|   				(event.type == YAML_SCALAR_EVENT)) {
#  419|   			if (strcmp((const char *)event.data.scalar.value, "forward") == 0) {
#  420|-> 				yaml_event_delete(&event);
#  421|   				xfail_forward = read_xfail_value(parser);
#  422|   			} else if (strcmp((const char *)event.data.scalar.value, "backward") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def262]
liblouis-3.33.0/tools/lou_checkyaml.c:456:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  454|   	int parse_error = 1;
#  455|   
#  456|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  457|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  458|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def263]
liblouis-3.33.0/tools/lou_checkyaml.c:458:9: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  456|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  457|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  458|-> 	yaml_event_delete(&event);
#  459|   
#  460|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def264]
liblouis-3.33.0/tools/lou_checkyaml.c:460:31: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  458|   	yaml_event_delete(&event);
#  459|   
#  460|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  461|   			(event.type == YAML_SCALAR_EVENT)) {
#  462|   		if (!strcmp((const char *)event.data.scalar.value, "noContractions")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def265]
liblouis-3.33.0/tools/lou_checkyaml.c:480:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  478|   					"Mode '%s' not supported\n", event.data.scalar.value);
#  479|   		}
#  480|-> 		yaml_event_delete(&event);
#  481|   	}
#  482|   	if (!parse_error) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def266]
liblouis-3.33.0/tools/lou_checkyaml.c:511:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  509|   	int parse_error = 1;
#  510|   
#  511|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  512|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  513|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def267]
liblouis-3.33.0/tools/lou_checkyaml.c:511:14: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  509|   	int parse_error = 1;
#  510|   
#  511|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  512|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  513|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def268]
liblouis-3.33.0/tools/lou_checkyaml.c:513:9: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  511|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  512|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  513|-> 	yaml_event_delete(&event);
#  514|   
#  515|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def269]
liblouis-3.33.0/tools/lou_checkyaml.c:513:9: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  511|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  512|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  513|-> 	yaml_event_delete(&event);
#  514|   
#  515|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def270]
liblouis-3.33.0/tools/lou_checkyaml.c:515:31: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  513|   	yaml_event_delete(&event);
#  514|   
#  515|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  516|   			(event.type == YAML_SCALAR_EVENT)) {
#  517|   		if (i >= translen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def271]
liblouis-3.33.0/tools/lou_checkyaml.c:515:31: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  513|   	yaml_event_delete(&event);
#  514|   
#  515|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  516|   			(event.type == YAML_SCALAR_EVENT)) {
#  517|   		if (i >= translen)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def272]
liblouis-3.33.0/tools/lou_checkyaml.c:521:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  519|   					"Too many input positions for translation of length %d.", translen);
#  520|   
#  521|-> 		pos[i++] = parse_number((const char *)event.data.scalar.value, "input position",
#  522|   				event.start_mark.line + 1);
#  523|   		yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def273]
liblouis-3.33.0/tools/lou_checkyaml.c:523:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  521|   		pos[i++] = parse_number((const char *)event.data.scalar.value, "input position",
#  522|   				event.start_mark.line + 1);
#  523|-> 		yaml_event_delete(&event);
#  524|   	}
#  525|   	if (i < translen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def274]
liblouis-3.33.0/tools/lou_checkyaml.c:523:17: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  521|   		pos[i++] = parse_number((const char *)event.data.scalar.value, "input position",
#  522|   				event.start_mark.line + 1);
#  523|-> 		yaml_event_delete(&event);
#  524|   	}
#  525|   	if (i < translen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def275]
liblouis-3.33.0/tools/lou_checkyaml.c:532:9: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  530|   	if (event.type != YAML_SEQUENCE_END_EVENT)
#  531|   		yaml_error(YAML_SEQUENCE_END_EVENT, &event);
#  532|-> 	yaml_event_delete(&event);
#  533|   	return pos;
#  534|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def276]
liblouis-3.33.0/tools/lou_checkyaml.c:543:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  541|   	int parse_error = 1;
#  542|   
#  543|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  544|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  545|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def277]
liblouis-3.33.0/tools/lou_checkyaml.c:543:14: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  541|   	int parse_error = 1;
#  542|   
#  543|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  544|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  545|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def278]
liblouis-3.33.0/tools/lou_checkyaml.c:545:9: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  543|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  544|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  545|-> 	yaml_event_delete(&event);
#  546|   
#  547|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def279]
liblouis-3.33.0/tools/lou_checkyaml.c:545:9: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  543|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SEQUENCE_START_EVENT))
#  544|   		yaml_error(YAML_SEQUENCE_START_EVENT, &event);
#  545|-> 	yaml_event_delete(&event);
#  546|   
#  547|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def280]
liblouis-3.33.0/tools/lou_checkyaml.c:547:31: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  545|   	yaml_event_delete(&event);
#  546|   
#  547|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  548|   			(event.type == YAML_SCALAR_EVENT)) {
#  549|   		if (i >= wrdlen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def281]
liblouis-3.33.0/tools/lou_checkyaml.c:547:31: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  545|   	yaml_event_delete(&event);
#  546|   
#  547|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  548|   			(event.type == YAML_SCALAR_EVENT)) {
#  549|   		if (i >= wrdlen)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def282]
liblouis-3.33.0/tools/lou_checkyaml.c:553:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  551|   					"Too many output positions for input string of length %d.", translen);
#  552|   
#  553|-> 		pos[i++] = parse_number((const char *)event.data.scalar.value, "output position",
#  554|   				event.start_mark.line + 1);
#  555|   		yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def283]
liblouis-3.33.0/tools/lou_checkyaml.c:555:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  553|   		pos[i++] = parse_number((const char *)event.data.scalar.value, "output position",
#  554|   				event.start_mark.line + 1);
#  555|-> 		yaml_event_delete(&event);
#  556|   	}
#  557|   	if (i < wrdlen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def284]
liblouis-3.33.0/tools/lou_checkyaml.c:555:17: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  553|   		pos[i++] = parse_number((const char *)event.data.scalar.value, "output position",
#  554|   				event.start_mark.line + 1);
#  555|-> 		yaml_event_delete(&event);
#  556|   	}
#  557|   	if (i < wrdlen)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def285]
liblouis-3.33.0/tools/lou_checkyaml.c:564:9: warning[-Wanalyzer-malloc-leak]: leak of ‘pos’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  562|   	if (event.type != YAML_SEQUENCE_END_EVENT)
#  563|   		yaml_error(YAML_SEQUENCE_END_EVENT, &event);
#  564|-> 	yaml_event_delete(&event);
#  565|   	return pos;
#  566|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def286]
liblouis-3.33.0/tools/lou_checkyaml.c:573:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  571|   	yaml_event_t event;
#  572|   
#  573|-> 	if (!yaml_parser_parse(parser, &event) ||
#  574|   			!(event.type == YAML_SEQUENCE_START_EVENT || event.type == YAML_SCALAR_EVENT))
#  575|   		error_at_line(EXIT_FAILURE, 0, file_name, event.start_mark.line + 1,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def287]
liblouis-3.33.0/tools/lou_checkyaml.c:581:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  579|   	if (event.type == YAML_SEQUENCE_START_EVENT) {
#  580|   		/* it's a sequence: read the two cursor positions (before and after) */
#  581|-> 		yaml_event_delete(&event);
#  582|   		if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  583|   			yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def288]
liblouis-3.33.0/tools/lou_checkyaml.c:582:22: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  580|   		/* it's a sequence: read the two cursor positions (before and after) */
#  581|   		yaml_event_delete(&event);
#  582|-> 		if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  583|   			yaml_error(YAML_SCALAR_EVENT, &event);
#  584|   		*cursorPos = parse_number((const char *)event.data.scalar.value,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def289]
liblouis-3.33.0/tools/lou_checkyaml.c:625:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  623|   	int typeform_len;
#  624|   
#  625|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  626|   		yaml_error(YAML_SCALAR_EVENT, &event);
#  627|   	typeform_len = strlen((const char *)event.data.scalar.value);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def290]
liblouis-3.33.0/tools/lou_checkyaml.c:625:14: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  623|   	int typeform_len;
#  624|   
#  625|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  626|   		yaml_error(YAML_SCALAR_EVENT, &event);
#  627|   	typeform_len = strlen((const char *)event.data.scalar.value);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def291]
liblouis-3.33.0/tools/lou_checkyaml.c:632:9: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  630|   				"Too many or too few typeforms (%i) for word of length %i\n",
#  631|   				typeform_len, len);
#  632|-> 	update_typeform((const char *)event.data.scalar.value, typeform, kind);
#  633|   	yaml_event_delete(&event);
#  634|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def292]
liblouis-3.33.0/tools/lou_checkyaml.c:642:14: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  640|   	int parse_error = 1;
#  641|   
#  642|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_MAPPING_START_EVENT))
#  643|   		yaml_error(YAML_MAPPING_START_EVENT, &event);
#  644|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def293]
liblouis-3.33.0/tools/lou_checkyaml.c:642:14: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  640|   	int parse_error = 1;
#  641|   
#  642|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_MAPPING_START_EVENT))
#  643|   		yaml_error(YAML_MAPPING_START_EVENT, &event);
#  644|   	yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def294]
liblouis-3.33.0/tools/lou_checkyaml.c:644:9: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  642|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_MAPPING_START_EVENT))
#  643|   		yaml_error(YAML_MAPPING_START_EVENT, &event);
#  644|-> 	yaml_event_delete(&event);
#  645|   
#  646|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def295]
liblouis-3.33.0/tools/lou_checkyaml.c:644:9: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  642|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_MAPPING_START_EVENT))
#  643|   		yaml_error(YAML_MAPPING_START_EVENT, &event);
#  644|-> 	yaml_event_delete(&event);
#  645|   
#  646|   	while ((parse_error = yaml_parser_parse(parser, &event)) &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def296]
liblouis-3.33.0/tools/lou_checkyaml.c:646:31: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  644|   	yaml_event_delete(&event);
#  645|   
#  646|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  647|   			(event.type == YAML_SCALAR_EVENT)) {
#  648|   		if (strcmp((const char *)event.data.scalar.value, "computer_braille") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def297]
liblouis-3.33.0/tools/lou_checkyaml.c:646:31: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  644|   	yaml_event_delete(&event);
#  645|   
#  646|-> 	while ((parse_error = yaml_parser_parse(parser, &event)) &&
#  647|   			(event.type == YAML_SCALAR_EVENT)) {
#  648|   		if (strcmp((const char *)event.data.scalar.value, "computer_braille") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def298]
liblouis-3.33.0/tools/lou_checkyaml.c:649:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  647|   			(event.type == YAML_SCALAR_EVENT)) {
#  648|   		if (strcmp((const char *)event.data.scalar.value, "computer_braille") == 0) {
#  649|-> 			yaml_event_delete(&event);
#  650|   			read_typeform_string(parser, typeform, computer_braille, len);
#  651|   		} else if (strcmp((const char *)event.data.scalar.value, "no_translate") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def299]
liblouis-3.33.0/tools/lou_checkyaml.c:649:25: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  647|   			(event.type == YAML_SCALAR_EVENT)) {
#  648|   		if (strcmp((const char *)event.data.scalar.value, "computer_braille") == 0) {
#  649|-> 			yaml_event_delete(&event);
#  650|   			read_typeform_string(parser, typeform, computer_braille, len);
#  651|   		} else if (strcmp((const char *)event.data.scalar.value, "no_translate") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def300]
liblouis-3.33.0/tools/lou_checkyaml.c:652:25: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  650|   			read_typeform_string(parser, typeform, computer_braille, len);
#  651|   		} else if (strcmp((const char *)event.data.scalar.value, "no_translate") == 0) {
#  652|-> 			yaml_event_delete(&event);
#  653|   			read_typeform_string(parser, typeform, no_translate, len);
#  654|   		} else if (strcmp((const char *)event.data.scalar.value, "no_contract") == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def301]
liblouis-3.33.0/tools/lou_checkyaml.c:655:25: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  653|   			read_typeform_string(parser, typeform, no_translate, len);
#  654|   		} else if (strcmp((const char *)event.data.scalar.value, "no_contract") == 0) {
#  655|-> 			yaml_event_delete(&event);
#  656|   			read_typeform_string(parser, typeform, no_contract, len);
#  657|   		} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def302]
liblouis-3.33.0/tools/lou_checkyaml.c:662:41: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  660|   			for (i = 0; emph_classes[i]; i++) {
#  661|   				if (strcmp((const char *)event.data.scalar.value, emph_classes[i]) == 0) {
#  662|-> 					yaml_event_delete(&event);
#  663|   					kind = italic << i;
#  664|   					if (kind > emph_10)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def303]
liblouis-3.33.0/tools/lou_checkyaml.c:674:17: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  672|   			}
#  673|   		}
#  674|-> 		yaml_event_delete(&event);
#  675|   	}
#  676|   	if (!parse_error) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def304]
liblouis-3.33.0/tools/lou_checkyaml.c:679:9: warning[-Wanalyzer-malloc-leak]: leak of ‘typeform’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  677|   
#  678|   	if (event.type != YAML_MAPPING_END_EVENT) yaml_error(YAML_MAPPING_END_EVENT, &event);
#  679|-> 	yaml_event_delete(&event);
#  680|   	return typeform;
#  681|   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def305]
liblouis-3.33.0/tools/lou_checkyaml.c:703:22: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘option_name’ where non-null expected
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  701|   				strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  702|   
#  703|-> 		if (!strcmp(option_name, "xfail")) {
#  704|   			yaml_event_delete(&event);
#  705|   			*xfail = read_xfail(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def306]
liblouis-3.33.0/tools/lou_checkyaml.c:704:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  702|   
#  703|   		if (!strcmp(option_name, "xfail")) {
#  704|-> 			yaml_event_delete(&event);
#  705|   			*xfail = read_xfail(parser);
#  706|   		} else if (!strcmp(option_name, "mode")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def307]
liblouis-3.33.0/tools/lou_checkyaml.c:707:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  705|   			*xfail = read_xfail(parser);
#  706|   		} else if (!strcmp(option_name, "mode")) {
#  707|-> 			yaml_event_delete(&event);
#  708|   			*mode = read_mode(parser);
#  709|   		} else if (!strcmp(option_name, "typeform")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def308]
liblouis-3.33.0/tools/lou_checkyaml.c:714:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:819:1: enter_function: entry to ‘read_test’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: call_function: calling ‘read_options’ from ‘read_test’
#  712|   						"typeforms only supported with testmode 'forward'\n");
#  713|   			}
#  714|-> 			yaml_event_delete(&event);
#  715|   			*typeform = read_typeforms(parser, wordLen);
#  716|   		} else if (!strcmp(option_name, "inputPos")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def309]
liblouis-3.33.0/tools/lou_checkyaml.c:717:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  715|   			*typeform = read_typeforms(parser, wordLen);
#  716|   		} else if (!strcmp(option_name, "inputPos")) {
#  717|-> 			yaml_event_delete(&event);
#  718|   			*inPos = read_inPos(parser, translationLen);
#  719|   		} else if (!strcmp(option_name, "outputPos")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def310]
liblouis-3.33.0/tools/lou_checkyaml.c:720:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  718|   			*inPos = read_inPos(parser, translationLen);
#  719|   		} else if (!strcmp(option_name, "outputPos")) {
#  720|-> 			yaml_event_delete(&event);
#  721|   			*outPos = read_outPos(parser, wordLen, translationLen);
#  722|   		} else if (!strcmp(option_name, "cursorPos")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def311]
liblouis-3.33.0/tools/lou_checkyaml.c:727:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  725|   						"cursorPos not supported with testmode 'bothDirections'\n");
#  726|   			}
#  727|-> 			yaml_event_delete(&event);
#  728|   			read_cursorPos(parser, cursorPos, cursorOutPos, wordLen, translationLen);
#  729|   		} else if (!strcmp(option_name, "maxOutputLength")) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def312]
liblouis-3.33.0/tools/lou_checkyaml.c:734:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  732|   						"maxOutputLength not supported with testmode 'bothDirections'\n");
#  733|   			}
#  734|-> 			yaml_event_delete(&event);
#  735|   			if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  736|   				yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def313]
liblouis-3.33.0/tools/lou_checkyaml.c:735:30: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  733|   			}
#  734|   			yaml_event_delete(&event);
#  735|-> 			if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  736|   				yaml_error(YAML_SCALAR_EVENT, &event);
#  737|   			*maxOutputLen = parse_number((const char *)event.data.scalar.value,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def314]
liblouis-3.33.0/tools/lou_checkyaml.c:748:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  746|   						"length (%i)\n",
#  747|   						translationLen, *maxOutputLen);
#  748|-> 			yaml_event_delete(&event);
#  749|   		} else if (!strcmp(option_name, "realInputLength")) {
#  750|   			yaml_event_delete(&event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def315]
liblouis-3.33.0/tools/lou_checkyaml.c:750:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  748|   			yaml_event_delete(&event);
#  749|   		} else if (!strcmp(option_name, "realInputLength")) {
#  750|-> 			yaml_event_delete(&event);
#  751|   			if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  752|   				yaml_error(YAML_SCALAR_EVENT, &event);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def316]
liblouis-3.33.0/tools/lou_checkyaml.c:751:30: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  749|   		} else if (!strcmp(option_name, "realInputLength")) {
#  750|   			yaml_event_delete(&event);
#  751|-> 			if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  752|   				yaml_error(YAML_SCALAR_EVENT, &event);
#  753|   			*realInputLen = parse_number((const char *)event.data.scalar.value,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def317]
liblouis-3.33.0/tools/lou_checkyaml.c:764:25: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  762|   						"length (%i)\n",
#  763|   						*realInputLen, wordLen);
#  764|-> 			yaml_event_delete(&event);
#  765|   		} else {
#  766|   			error_at_line(EXIT_FAILURE, 0, file_name, event.start_mark.line + 1,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def318]
liblouis-3.33.0/tools/lou_checkyaml.c:788:13: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  786|   	// they must have the same mapping (i.e. the emphasis classes
#  787|   	// must be defined in the same order).
#  788|-> 	r = check(table, word, translation, .display_table = display_table,
#  789|   			.typeform = typeform, .mode = mode, .expected_inputPos = expected_inputPos,
#  790|   			.expected_outputPos = expected_outputPos, .cursorPos = cursorPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def319]
liblouis-3.33.0/tools/lou_checkyaml.c:788:13: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  786|   	// they must have the same mapping (i.e. the emphasis classes
#  787|   	// must be defined in the same order).
#  788|-> 	r = check(table, word, translation, .display_table = display_table,
#  789|   			.typeform = typeform, .mode = mode, .expected_inputPos = expected_inputPos,
#  790|   			.expected_outputPos = expected_outputPos, .cursorPos = cursorPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def320]
liblouis-3.33.0/tools/lou_checkyaml.c:788:13: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  786|   	// they must have the same mapping (i.e. the emphasis classes
#  787|   	// must be defined in the same order).
#  788|-> 	r = check(table, word, translation, .display_table = display_table,
#  789|   			.typeform = typeform, .mode = mode, .expected_inputPos = expected_inputPos,
#  790|   			.expected_outputPos = expected_outputPos, .cursorPos = cursorPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def321]
liblouis-3.33.0/tools/lou_checkyaml.c:838:9: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:838:9: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/110/codeFlows/0/threadFlows/0/locations/2)
#  836|   
#  837|   	word = strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  838|-> 	yaml_event_delete(&event);
#  839|   
#  840|   	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def322]
liblouis-3.33.0/tools/lou_checkyaml.c:840:14: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:14: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/111/codeFlows/0/threadFlows/0/locations/2)
#  838|   	yaml_event_delete(&event);
#  839|   
#  840|-> 	if (!yaml_parser_parse(parser, &event) || (event.type != YAML_SCALAR_EVENT))
#  841|   		simple_error("Translation expected", parser, &event);
#  842|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def323]
liblouis-3.33.0/tools/lou_checkyaml.c:845:9: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:844:25: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:845:9: danger: ‘translation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/112/codeFlows/0/threadFlows/0/locations/4)
#  843|   	translation =
#  844|   			strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  845|-> 	yaml_event_delete(&event);
#  846|   
#  847|   	if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def324]
liblouis-3.33.0/tools/lou_checkyaml.c:845:9: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:845:9: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/113/codeFlows/0/threadFlows/0/locations/2)
#  843|   	translation =
#  844|   			strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  845|-> 	yaml_event_delete(&event);
#  846|   
#  847|   	if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def325]
liblouis-3.33.0/tools/lou_checkyaml.c:847:14: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:844:25: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:847:14: danger: ‘translation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/114/codeFlows/0/threadFlows/0/locations/4)
#  845|   	yaml_event_delete(&event);
#  846|   
#  847|-> 	if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);
#  848|   
#  849|   	/* Handle an optional description */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def326]
liblouis-3.33.0/tools/lou_checkyaml.c:847:14: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:14: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/115/codeFlows/0/threadFlows/0/locations/2)
#  845|   	yaml_event_delete(&event);
#  846|   
#  847|-> 	if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);
#  848|   
#  849|   	/* Handle an optional description */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def327]
liblouis-3.33.0/tools/lou_checkyaml.c:855:17: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:844:25: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:855:17: danger: ‘translation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/117/codeFlows/0/threadFlows/0/locations/4)
#  853|   		translation =
#  854|   				strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  855|-> 		yaml_event_delete(&event);
#  856|   
#  857|   		if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def328]
liblouis-3.33.0/tools/lou_checkyaml.c:855:17: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:855:17: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/116/codeFlows/0/threadFlows/0/locations/2)
#  853|   		translation =
#  854|   				strndup((const char *)event.data.scalar.value, event.data.scalar.length);
#  855|-> 		yaml_event_delete(&event);
#  856|   
#  857|   		if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def329]
liblouis-3.33.0/tools/lou_checkyaml.c:857:22: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:854:33: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:857:22: danger: ‘translation’ leaks here; was allocated at [(9)](sarif:/runs/0/results/119/codeFlows/0/threadFlows/0/locations/8)
#  855|   		yaml_event_delete(&event);
#  856|   
#  857|-> 		if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);
#  858|   	}
#  859|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def330]
liblouis-3.33.0/tools/lou_checkyaml.c:857:22: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:857:22: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/120/codeFlows/0/threadFlows/0/locations/2)
#  855|   		yaml_event_delete(&event);
#  856|   
#  857|-> 		if (!yaml_parser_parse(parser, &event)) yaml_parse_error(parser);
#  858|   	}
#  859|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def331]
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:857:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: danger: ‘description’ leaks here; was allocated at [(3)](sarif:/runs/0/results/124/codeFlows/0/threadFlows/0/locations/2)
#  859|   
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|-> 		yaml_event_delete(&event);
#  862|   		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def332]
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:844:25: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: danger: ‘translation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/123/codeFlows/0/threadFlows/0/locations/4)
#  859|   
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|-> 		yaml_event_delete(&event);
#  862|   		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def333]
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/122/codeFlows/0/threadFlows/0/locations/2)
#  859|   
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|-> 		yaml_event_delete(&event);
#  862|   		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def334]
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:854:80: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:857:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: danger: ‘description’ leaks here; was allocated at [(3)](sarif:/runs/0/results/128/codeFlows/0/threadFlows/0/locations/2)
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|   		yaml_event_delete(&event);
#  862|-> 		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,
#  864|   				&maxOutputLen, &realInputLen);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def335]
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:844:25: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: danger: ‘translation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/125/codeFlows/0/threadFlows/0/locations/4)
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|   		yaml_event_delete(&event);
#  862|-> 		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,
#  864|   				&maxOutputLen, &realInputLen);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def336]
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:834:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:837:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:840:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:847:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:850:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:850:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:860:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:860:12: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:861:17: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:862:17: danger: ‘word’ leaks here; was allocated at [(3)](sarif:/runs/0/results/126/codeFlows/0/threadFlows/0/locations/2)
#  860|   	if (event.type == YAML_MAPPING_START_EVENT) {
#  861|   		yaml_event_delete(&event);
#  862|-> 		read_options(parser, testmode, parsed_strlen(word), parsed_strlen(translation),
#  863|   				&xfail, &mode, &typeform, &inPos, &outPos, &cursorPos, &cursorOutPos,
#  864|   				&maxOutputLen, &realInputLen);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def337]
liblouis-3.33.0/tools/lou_checkyaml.c:881:25: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  879|   		case MODE_HYPHENATION:
#  880|   		case MODE_HYPHENATION_BRAILLE:
#  881|-> 			check_hyphenation(
#  882|   					*table, word, translation, testmode == MODE_HYPHENATION_BRAILLE);
#  883|   			break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def338]
liblouis-3.33.0/tools/lou_checkyaml.c:881:25: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  879|   		case MODE_HYPHENATION:
#  880|   		case MODE_HYPHENATION_BRAILLE:
#  881|-> 			check_hyphenation(
#  882|   					*table, word, translation, testmode == MODE_HYPHENATION_BRAILLE);
#  883|   			break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def339]
liblouis-3.33.0/tools/lou_checkyaml.c:881:25: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  879|   		case MODE_HYPHENATION:
#  880|   		case MODE_HYPHENATION_BRAILLE:
#  881|-> 			check_hyphenation(
#  882|   					*table, word, translation, testmode == MODE_HYPHENATION_BRAILLE);
#  883|   			break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def340]
liblouis-3.33.0/tools/lou_checkyaml.c:885:25: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  883|   			break;
#  884|   		case MODE_DISPLAY:
#  885|-> 			check_display(*table, word, translation);
#  886|   			break;
#  887|   		case MODE_TRANSLATION_FORWARD:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def341]
liblouis-3.33.0/tools/lou_checkyaml.c:885:25: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  883|   			break;
#  884|   		case MODE_DISPLAY:
#  885|-> 			check_display(*table, word, translation);
#  886|   			break;
#  887|   		case MODE_TRANSLATION_FORWARD:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def342]
liblouis-3.33.0/tools/lou_checkyaml.c:885:25: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  883|   			break;
#  884|   		case MODE_DISPLAY:
#  885|-> 			check_display(*table, word, translation);
#  886|   			break;
#  887|   		case MODE_TRANSLATION_FORWARD:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def343]
liblouis-3.33.0/tools/lou_checkyaml.c:909:9: warning[-Wanalyzer-malloc-leak]: leak of ‘description’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  907|   		count++;
#  908|   	}
#  909|-> 	yaml_event_delete(&event);
#  910|   
#  911|   	free(description);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def344]
liblouis-3.33.0/tools/lou_checkyaml.c:909:9: warning[-Wanalyzer-malloc-leak]: leak of ‘translation’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  907|   		count++;
#  908|   	}
#  909|-> 	yaml_event_delete(&event);
#  910|   
#  911|   	free(description);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def345]
liblouis-3.33.0/tools/lou_checkyaml.c:909:9: warning[-Wanalyzer-malloc-leak]: leak of ‘word’
liblouis-3.33.0/tools/lou_checkyaml.c:920:1: enter_function: entry to ‘read_tests’
liblouis-3.33.0/tools/lou_checkyaml.c:923:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:930:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:933:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:933:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:936:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:937:25: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:938:25: call_function: calling ‘read_test’ from ‘read_tests’
#  907|   		count++;
#  908|   	}
#  909|-> 	yaml_event_delete(&event);
#  910|   
#  911|   	free(description);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def346]
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_resource: opened here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/140/codeFlows/0/threadFlows/0/locations/4)
# 1031|   	}
# 1032|   
# 1033|-> 	char *dir_name = strdup(file_name);
# 1034|   	int i = strlen(dir_name);
# 1035|   	while (i > 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def347]
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/141/codeFlows/0/threadFlows/0/locations/4)
# 1031|   	}
# 1032|   
# 1033|-> 	char *dir_name = strdup(file_name);
# 1034|   	int i = strlen(dir_name);
# 1035|   	while (i > 0) {

Error: CPPCHECK_WARNING (CWE-476): [#def348]
liblouis-3.33.0/tools/lou_checkyaml.c:1034: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dir_name
# 1032|   
# 1033|   	char *dir_name = strdup(file_name);
# 1034|-> 	int i = strlen(dir_name);
# 1035|   	while (i > 0) {
# 1036|   		if (dir_name[i - 1] == '/' || dir_name[i - 1] == '\\') {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def349]
liblouis-3.33.0/tools/lou_checkyaml.c:1034:17: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘dir_name’ where non-null expected
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: acquire_memory: this call could return NULL
liblouis-3.33.0/tools/lou_checkyaml.c:1034:17: danger: argument 1 (‘dir_name’) from [(7)](sarif:/runs/0/results/144/codeFlows/0/threadFlows/0/locations/6) could be NULL where non-null expected
#argument 1 of ‘__builtin_strlen’ must be non-null
# 1032|   
# 1033|   	char *dir_name = strdup(file_name);
# 1034|-> 	int i = strlen(dir_name);
# 1035|   	while (i > 0) {
# 1036|   		if (dir_name[i - 1] == '/' || dir_name[i - 1] == '\\') {

Error: CPPCHECK_WARNING (CWE-476): [#def350]
liblouis-3.33.0/tools/lou_checkyaml.c:1036: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dir_name
# 1034|   	int i = strlen(dir_name);
# 1035|   	while (i > 0) {
# 1036|-> 		if (dir_name[i - 1] == '/' || dir_name[i - 1] == '\\') {
# 1037|   			i--;
# 1038|   			break;

Error: CPPCHECK_WARNING (CWE-476): [#def351]
liblouis-3.33.0/tools/lou_checkyaml.c:1042: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dir_name
# 1040|   		i--;
# 1041|   	}
# 1042|-> 	dir_name[i] = '\0';
# 1043|   	// FIXME: problem with this is that
# 1044|   	// LOUIS_TABLEPATH=$(top_srcdir)/tables,... does not work anymore because

Error: GCC_ANALYZER_WARNING (CWE-775): [#def352]
liblouis-3.33.0/tools/lou_checkyaml.c:1052:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_resource: opened here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1052:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/145/codeFlows/0/threadFlows/0/locations/4)
# 1050|   
# 1051|   	// register custom table resolver
# 1052|-> 	lou_registerTableResolver(&customTableResolver);
# 1053|   
# 1054|   	assert(yaml_parser_initialize(&parser));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def353]
liblouis-3.33.0/tools/lou_checkyaml.c:1052:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1052:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/146/codeFlows/0/threadFlows/0/locations/4)
# 1050|   
# 1051|   	// register custom table resolver
# 1052|-> 	lou_registerTableResolver(&customTableResolver);
# 1053|   
# 1054|   	assert(yaml_parser_initialize(&parser));

Error: GCC_ANALYZER_WARNING (CWE-775): [#def354]
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_resource: opened here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/147/codeFlows/0/threadFlows/0/locations/4)
# 1052|   	lou_registerTableResolver(&customTableResolver);
# 1053|   
# 1054|-> 	assert(yaml_parser_initialize(&parser));
# 1055|   
# 1056|   	yaml_parser_set_input_file(&parser, file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def355]
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/148/codeFlows/0/threadFlows/0/locations/4)
# 1052|   	lou_registerTableResolver(&customTableResolver);
# 1053|   
# 1054|-> 	assert(yaml_parser_initialize(&parser));
# 1055|   
# 1056|   	yaml_parser_set_input_file(&parser, file);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def356]
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_resource: opened here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/149/codeFlows/0/threadFlows/0/locations/4)
# 1054|   	assert(yaml_parser_initialize(&parser));
# 1055|   
# 1056|-> 	yaml_parser_set_input_file(&parser, file);
# 1057|   
# 1058|   	if (!yaml_parser_parse(&parser, &event) || (event.type != YAML_STREAM_START_EVENT)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def357]
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
liblouis-3.33.0/tools/lou_checkyaml.c:978:16: branch_false: following ‘false’ branch (when ‘optc == -1’)...
liblouis-3.33.0/tools/lou_checkyaml.c:995:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:995:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1026:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1027:16: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_checkyaml.c:1028:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1033:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1046:12: branch_false: following ‘false’ branch (when ‘i <= 0’)...
liblouis-3.33.0/tools/lou_checkyaml.c:1049:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1054:9: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: branch_true: ...to here
liblouis-3.33.0/tools/lou_checkyaml.c:1056:9: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/150/codeFlows/0/threadFlows/0/locations/4)
# 1054|   	assert(yaml_parser_initialize(&parser));
# 1055|   
# 1056|-> 	yaml_parser_set_input_file(&parser, file);
# 1057|   
# 1058|   	if (!yaml_parser_parse(&parser, &event) || (event.type != YAML_STREAM_START_EVENT)) {

Error: COMPILER_WARNING (CWE-681): [#def358]
liblouis-3.33.0/tools/lou_debug.c: scope_hint: In function ‘print_chars’
liblouis-3.33.0/tools/lou_debug.c:105:16: warning[-Wpointer-sign]: pointer targets in returning ‘uint8_t *’ {aka ‘unsigned char *’} from a function with return type ‘char *’ differ in signedness
#  105 |         return result_buf;
#      |                ^~~~~~~~~~
#  103|   #endif
#  104|   	result_buf[result_len] = 0;
#  105|-> 	return result_buf;
#  106|   }
#  107|   

Error: COMPILER_WARNING: [#def359]
liblouis-3.33.0/tools/lou_debug.c: scope_hint: In function ‘show_brailleIndicators’
liblouis-3.33.0/tools/lou_debug.c:325:57: warning[-Wformat=]: format ‘%s’ expects argument of type ‘char *’, but argument 4 has type ‘EmphasisClass’
#  325 |                 snprintf(name, BUFSIZE, "lenemphphrase %s", table->emphClasses[i]);
#      |                                                        ~^   ~~~~~~~~~~~~~~~~~~~~~
#      |                                                         |                     |
#      |                                                         char *                EmphasisClass
#  323|   			print_brailleIndicator(table->emphRules[i][offset], name);
#  324|   		}
#  325|-> 		snprintf(name, BUFSIZE, "lenemphphrase %s", table->emphClasses[i]);
#  326|   		print_phraseLength(table->emphRules[i][lenPhraseOffset], name);
#  327|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def360]
liblouis-3.33.0/tools/lou_trace.c:85:16: warning[-Wanalyzer-malloc-leak]: leak of ‘rules’
liblouis-3.33.0/tools/lou_trace.c:318:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_trace.c:372:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:377:17: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:379:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:384:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:384:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:392:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:393:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:397:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:397:9: call_function: calling ‘main_loop’ from ‘main’
#   83|   static int
#   84|   get_wide_input(widechar *buffer) {
#   85|-> 	return _lou_extParseChars(get_input(), buffer);
#   86|   }
#   87|   

Error: COMPILER_WARNING (CWE-681): [#def361]
liblouis-3.33.0/tools/lou_trace.c: scope_hint: In function ‘print_chars’
liblouis-3.33.0/tools/lou_trace.c:98:16: warning[-Wpointer-sign]: pointer targets in returning ‘uint8_t *’ {aka ‘unsigned char *’} from a function with return type ‘char *’ differ in signedness
#   98 |         return result_buf;
#      |                ^~~~~~~~~~
#   96|   #endif
#   97|   	result_buf[result_len] = 0;
#   98|-> 	return result_buf;
#   99|   }
#  100|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def362]
liblouis-3.33.0/tools/lou_trace.c:296:17: warning[-Wanalyzer-malloc-leak]: leak of ‘rules’
liblouis-3.33.0/tools/lou_trace.c:318:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_trace.c:372:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:377:17: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:379:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:384:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:384:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:392:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:393:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:397:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:397:9: call_function: calling ‘main_loop’ from ‘main’
#  294|   		outlen = BUFSIZE;
#  295|   		ruleslen = RULESSIZE;
#  296|-> 		_lou_getTable(table, table, &translationTable, &displayTable);
#  297|   		if (backward_translation) {
#  298|   			if (!_lou_backTranslate(table, table, inbuf, &inlen, outbuf, &outlen, NULL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def363]
liblouis-3.33.0/tools/lou_trace.c:298:30: warning[-Wanalyzer-malloc-leak]: leak of ‘rules’
liblouis-3.33.0/tools/lou_trace.c:318:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_trace.c:372:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:377:17: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:379:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:384:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:384:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:392:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:393:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:397:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:397:9: call_function: calling ‘main_loop’ from ‘main’
#  296|   		_lou_getTable(table, table, &translationTable, &displayTable);
#  297|   		if (backward_translation) {
#  298|-> 			if (!_lou_backTranslate(table, table, inbuf, &inlen, outbuf, &outlen, NULL,
#  299|   						NULL, NULL, NULL, NULL, mode, rules, &ruleslen))
#  300|   				break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def364]
liblouis-3.33.0/tools/lou_trace.c:301:29: warning[-Wanalyzer-malloc-leak]: leak of ‘rules’
liblouis-3.33.0/tools/lou_trace.c:318:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_trace.c:372:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:377:17: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:379:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:384:23: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:384:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:392:21: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:393:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_trace.c:397:9: branch_false: ...to here
liblouis-3.33.0/tools/lou_trace.c:397:9: call_function: calling ‘main_loop’ from ‘main’
#  299|   						NULL, NULL, NULL, NULL, mode, rules, &ruleslen))
#  300|   				break;
#  301|-> 		} else if (!_lou_translate(table, table, inbuf, &inlen, outbuf, &outlen, NULL,
#  302|   						   NULL, NULL, NULL, NULL, mode, rules, &ruleslen))
#  303|   			break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def365]
liblouis-3.33.0/tools/lou_translate.c:59:30: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:157:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:286:28: branch_true: following ‘true’ branch (when ‘display_table’ is NULL)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:301:9: call_function: calling ‘translate_input’ from ‘main’
#   57|   		translen = MAXSTRING;
#   58|   		k = 0;
#   59|-> 		while ((ch = fgetc(input)) != '\n' && ch != EOF && k < MAXSTRING - 1)
#   60|   			charbuf[k++] = ch;
#   61|   		if (ch == EOF && k == 0) break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def366]
liblouis-3.33.0/tools/lou_translate.c:63:25: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:157:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:286:28: branch_true: following ‘true’ branch (when ‘display_table’ is NULL)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:301:9: call_function: calling ‘translate_input’ from ‘main’
#   61|   		if (ch == EOF && k == 0) break;
#   62|   		charbuf[k] = 0;
#   63|-> 		inlen = _lou_extParseChars(charbuf, inbuf);
#   64|   		if (forward_translation)
#   65|   			result = _lou_translate(table_name, display_table_name, inbuf, &inlen,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def367]
liblouis-3.33.0/tools/lou_translate.c:65:34: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:157:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:286:28: branch_true: following ‘true’ branch (when ‘display_table’ is NULL)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:301:9: call_function: calling ‘translate_input’ from ‘main’
#   63|   		inlen = _lou_extParseChars(charbuf, inbuf);
#   64|   		if (forward_translation)
#   65|-> 			result = _lou_translate(table_name, display_table_name, inbuf, &inlen,
#   66|   					transbuf, &translen, NULL, NULL, NULL, NULL, NULL, mode, NULL, NULL);
#   67|   		else

Error: GCC_ANALYZER_WARNING (CWE-401): [#def368]
liblouis-3.33.0/tools/lou_translate.c:68:34: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:157:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:286:28: branch_true: following ‘true’ branch (when ‘display_table’ is NULL)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:301:9: call_function: calling ‘translate_input’ from ‘main’
#   66|   					transbuf, &translen, NULL, NULL, NULL, NULL, NULL, mode, NULL, NULL);
#   67|   		else
#   68|-> 			result = _lou_backTranslate(table_name, display_table_name, inbuf, &inlen,
#   69|   					transbuf, &translen, NULL, NULL, NULL, NULL, NULL, mode, NULL, NULL);
#   70|   		if (!result) break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def369]
liblouis-3.33.0/tools/lou_translate.c:72:29: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:157:1: enter_function: entry to ‘main’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:286:28: branch_true: following ‘true’ branch (when ‘display_table’ is NULL)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:301:9: call_function: calling ‘translate_input’ from ‘main’
#   70|   		if (!result) break;
#   71|   #ifdef WIDECHARS_ARE_UCS4
#   72|-> 		outputbuf = u32_to_u8(transbuf, translen, NULL, &outlen);
#   73|   #else
#   74|   		outputbuf = u16_to_u8(transbuf, translen, NULL, &outlen);

Error: CPPCHECK_WARNING (CWE-476): [#def370]
liblouis-3.33.0/tools/lou_translate.c:253: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: tableOption
#  251|   		for (int i = optind; i < argc; i++) {
#  252|   			if (i > optind) strcat(tableOption, " ");
#  253|-> 			strcat(tableOption, argv[i]);
#  254|   		}
#  255|   	}

Error: GCC_ANALYZER_WARNING (CWE-688): [#def371]
liblouis-3.33.0/tools/lou_translate.c:253:25: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘tableOption’ where non-null expected
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: this call could return NULL
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_true: following ‘true’ branch (when ‘i < argc’)...
liblouis-3.33.0/tools/lou_translate.c:252:28: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:252:28: branch_false: following ‘false’ branch (when ‘i <= i’)...
liblouis-3.33.0/tools/lou_translate.c:253:49: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:253:25: danger: argument 1 (‘tableOption’) from [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6) could be NULL where non-null expected
#argument 1 of ‘__builtin_strcat’ must be non-null
#  251|   		for (int i = optind; i < argc; i++) {
#  252|   			if (i > optind) strcat(tableOption, " ");
#  253|-> 			strcat(tableOption, argv[i]);
#  254|   		}
#  255|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def372]
liblouis-3.33.0/tools/lou_translate.c:275:37: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_translate.c:263:28: branch_false: following ‘false’ branch (when ‘queryHasColon == 0’)...
liblouis-3.33.0/tools/lou_translate.c:274:45: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:275:37: danger: ‘tableOption’ leaks here; was allocated at [(7)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/6)
#  273|   				// see #1671)
#  274|   				table = argv[optind];
#  275|-> 				if (lou_checkTable(table))
#  276|   					table = strdup(table);
#  277|   				else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def373]
liblouis-3.33.0/tools/lou_translate.c:278:49: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_translate.c:263:28: branch_false: following ‘false’ branch (when ‘queryHasColon == 0’)...
liblouis-3.33.0/tools/lou_translate.c:274:45: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:275:36: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:278:49: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:278:49: danger: ‘tableOption’ leaks here; was allocated at [(7)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/6)
#  276|   					table = strdup(table);
#  277|   				else {
#  278|-> 					table = lou_findTable(tableOption);
#  279|   					if (table == NULL || !lou_checkTable(table)) goto failure;
#  280|   					if (!display_table) mode |= dotsIO | ucBrl;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def374]
liblouis-3.33.0/tools/lou_translate.c:279:63: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:20: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_translate.c:263:28: branch_false: following ‘false’ branch (when ‘queryHasColon == 0’)...
liblouis-3.33.0/tools/lou_translate.c:274:45: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:275:36: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:278:49: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:279:44: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:279:63: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:279:63: danger: ‘tableOption’ leaks here; was allocated at [(7)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/6)
#  277|   				else {
#  278|   					table = lou_findTable(tableOption);
#  279|-> 					if (table == NULL || !lou_checkTable(table)) goto failure;
#  280|   					if (!display_table) mode |= dotsIO | ucBrl;
#  281|   				}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def375]
liblouis-3.33.0/tools/lou_translate.c:284:33: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:284:33: danger: ‘tableOption’ leaks here; was allocated at [(7)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/6)
#  282|   			}
#  283|   		} else if (validQuery) {
#  284|-> 			table = lou_findTable(tableOption);
#  285|   			if (table == NULL || !lou_checkTable(table)) goto failure;
#  286|   			if (!display_table) mode |= dotsIO | ucBrl;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def376]
liblouis-3.33.0/tools/lou_translate.c:285:47: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:20: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:283:27: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
liblouis-3.33.0/tools/lou_translate.c:284:33: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:28: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:285:47: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:285:47: danger: ‘tableOption’ leaks here; was allocated at [(7)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/6)
#  283|   		} else if (validQuery) {
#  284|   			table = lou_findTable(tableOption);
#  285|-> 			if (table == NULL || !lou_checkTable(table)) goto failure;
#  286|   			if (!display_table) mode |= dotsIO | ucBrl;
#  287|   		} else if (optind == argc - 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def377]
liblouis-3.33.0/tools/lou_translate.c:289:30: warning[-Wanalyzer-malloc-leak]: leak of ‘tableOption’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:230:28: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:241:36: branch_false: following ‘false’ branch (when ‘hasColon == 0’)...
 branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:250:31: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:21: branch_false: following ‘false’ branch (when ‘validQuery == 0’)...
liblouis-3.33.0/tools/lou_translate.c:287:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:287:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_translate.c:288:44: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:289:30: danger: ‘tableOption’ leaks here; was allocated at [(11)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/10)
#  287|   		} else if (optind == argc - 1) {
#  288|   			table = strdup(argv[optind]);
#  289|-> 			if (!lou_checkTable(table)) goto failure;
#  290|   		} else {
#  291|   			fprintf(stderr, "%s: no valid table specified: %s\n", program_name,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def378]
liblouis-3.33.0/tools/lou_translate.c:289:30: warning[-Wanalyzer-malloc-leak]: leak of ‘table’
liblouis-3.33.0/tools/lou_translate.c:202:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:208:13: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:208:12: branch_false: following ‘false’ branch...
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:214:12: branch_false: following ‘false’ branch (when ‘display_table’ is NULL)...
liblouis-3.33.0/tools/lou_translate.c:228:26: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:230:28: branch_true: following ‘true’ branch (when ‘validQuery != 0’)...
 branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:241:36: branch_false: following ‘false’ branch (when ‘hasColon == 0’)...
 branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:251:38: branch_false: following ‘false’ branch (when ‘i >= argc’)...
liblouis-3.33.0/tools/lou_translate.c:261:31: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:261:21: branch_false: following ‘false’ branch (when ‘validQuery == 0’)...
liblouis-3.33.0/tools/lou_translate.c:287:27: branch_false: ...to here
liblouis-3.33.0/tools/lou_translate.c:287:27: branch_true: following ‘true’ branch...
liblouis-3.33.0/tools/lou_translate.c:288:44: branch_true: ...to here
liblouis-3.33.0/tools/lou_translate.c:288:33: acquire_memory: allocated here
liblouis-3.33.0/tools/lou_translate.c:289:30: danger: ‘table’ leaks here; was allocated at [(17)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/16)
#  287|   		} else if (optind == argc - 1) {
#  288|   			table = strdup(argv[optind]);
#  289|-> 			if (!lou_checkTable(table)) goto failure;
#  290|   		} else {
#  291|   			fprintf(stderr, "%s: no valid table specified: %s\n", program_name,

Error: COMPILER_WARNING (CWE-1164): [#def379]
liblouis-3.33.0/tools/lou_translate.c: scope_hint: In function ‘main’
liblouis-3.33.0/tools/lou_translate.c:303:1: warning[-Wunused-label]: label ‘success’ defined but not used
#  303 | success:
#      | ^~~~~~~
#  301|   	translate_input(!backward_flag, table, display_table, mode, stdin);
#  302|   
#  303|-> success:
#  304|   	exitValue = EXIT_SUCCESS;
#  305|   failure:

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-162.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-gcc-latest-x86_64
project-nameliblouis-3.33.0-6.fc44
store-results-to/tmp/tmp8gppiaxk/liblouis-3.33.0-6.fc44.tar.xz
time-created2025-10-28 19:10:20
time-finished2025-10-28 19:14:03
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmp8gppiaxk/liblouis-3.33.0-6.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmp8gppiaxk/liblouis-3.33.0-6.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9