Newly introduced findings

List of Findings

Error: SHELLCHECK_WARNING: [#def1]
/usr/bin/po-fetch:67:22: warning[SC3028]: In POSIX sh, RANDOM is undefined.
#   65|       # rather, it minimizes the probability of failure in a very cluttered /tmp
#   66|       # directory.
#   67|->     tmp=$TMPDIR/gt$$-$RANDOM
#   68|       (umask 077 && mkdir "$tmp")
#   69|     } ||

Error: SHELLCHECK_WARNING (CWE-457): [#def2]
/usr/bin/po-fetch:515:6: warning[SC2154]: exit_status is referenced but not assigned.
#  513|   # Create a temporary directory, and prepare for cleaning it up.
#  514|   func_tmpdir
#  515|-> trap 'exit_status=$?
#  516|         if test "$signal" != EXIT; then
#  517|           echo "caught signal SIG$signal" >&2

Error: SHELLCHECK_WARNING (CWE-252): [#def3]
/usr/bin/po-fetch:613:2: warning[SC2164]: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
#  611|   
#  612|   # Eliminate broken PO files.
#  613|-> (cd "$tmp"
#  614|    for file in *.po; do
#  615|      if test -f "$file"; then

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
gettext-1.0/gettext-runtime/src/gettext.c:214:27: warning[-Wanalyzer-malloc-leak]: leak of ‘msgid’
gettext-1.0/gettext-runtime/src/gettext.c:54:1: enter_function: entry to ‘main’
gettext-1.0/gettext-runtime/src/gettext.c:97:12: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:98:7: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:97:12: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:98:7: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:132:6: branch_false: following ‘false’ branch (when ‘do_version == 0’)...
gettext-1.0/gettext-runtime/src/gettext.c:148:6: branch_false: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:148:6: branch_false: following ‘false’ branch (when ‘do_help == 0’)...
gettext-1.0/gettext-runtime/src/gettext.c:153:6: branch_false: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:153:6: branch_true: following ‘true’ branch (when ‘do_shell != 0’)...
gettext-1.0/gettext-runtime/src/gettext.c:200:11: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:200:10: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:204:14: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:204:14: branch_false: following ‘false’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:217:18: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:218:25: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:218:25: call_function: calling ‘expand_escapes’ from ‘main’
gettext-1.0/gettext-runtime/src/gettext.c:218:25: return_function: returning to ‘main’ from ‘expand_escapes’
gettext-1.0/gettext-runtime/src/gettext.c:221:15: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:228:18: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:229:17: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:231:18: branch_true: following ‘true’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:231:18: branch_true: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:217:18: branch_false: following ‘false’ branch...
gettext-1.0/gettext-runtime/src/gettext.c:221:15: branch_false: ...to here
gettext-1.0/gettext-runtime/src/gettext.c:214:27: danger: ‘msgid’ leaks here; was allocated at [(27)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/26)
#  212|             do
#  213|               {
#  214|->               const char *msgid = argv[optind++];
#  215|   
#  216|                 /* Expand escape sequences if enabled.  */

Error: COMPILER_WARNING (CWE-457): [#def5]
gettext-1.0/gettext-tools/gnulib-lib/canonicalize.c:394:33: warning[-Wmaybe-uninitialized]: 'end_idx' may be used uninitialized
#  394 |                 end = extra_buf + end_idx;
#      |                                 ^
gettext-1.0/gettext-tools/gnulib-lib/canonicalize.c: scope_hint: In function 'canonicalize_filename_mode'
gettext-1.0/gettext-tools/gnulib-lib/canonicalize.c:381:21: note: 'end_idx' was declared here
#  381 |               idx_t end_idx IF_LINT (= 0);
#      |                     ^
#  392|                   }
#  393|                 if (end_in_extra_buffer)
#  394|->                 end = extra_buf + end_idx;
#  395|   
#  396|                 /* Careful here, end may be a pointer into extra_buf... */

Error: COMPILER_WARNING (CWE-457): [#def6]
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h:426:40: warning[-Wmaybe-uninitialized]: 'fxbest' may be used uninitialized
#  426 |                   part->ymid = fxybest - fxbest;
#      |                                        ^
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h: scope_hint: In function 'compareseq'
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h:387:36: note: 'fxbest' was declared here
#  387 |               OFFSET fxybest = -1, fxbest;
#      |                                    ^
#  424|                   {
#  425|                     part->xmid = fxbest;
#  426|->                   part->ymid = fxybest - fxbest;
#  427|                     part->lo_minimal = true;
#  428|                     part->hi_minimal = false;

Error: COMPILER_WARNING (CWE-457): [#def7]
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h:433:40: warning[-Wmaybe-uninitialized]: 'bxbest' may be used uninitialized
#  433 |                   part->ymid = bxybest - bxbest;
#      |                                        ^
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h: scope_hint: In function 'compareseq'
gettext-1.0/gettext-tools/gnulib-lib/diffseq.h:405:44: note: 'bxbest' was declared here
#  405 |               OFFSET bxybest = OFFSET_MAX, bxbest;
#      |                                            ^
#  431|                   {
#  432|                     part->xmid = bxbest;
#  433|->                   part->ymid = bxybest - bxbest;
#  434|                     part->lo_minimal = false;
#  435|                     part->hi_minimal = true;

Error: CPPCHECK_WARNING (CWE-457): [#def8]
gettext-1.0/gettext-tools/gnulib-lib/gl_carray_list.c:646: error[uninitvar]: Uninitialized variables: result.p, result.q
#  644|   #endif
#  645|   
#  646|->   return result;
#  647|   }
#  648|   

Error: COMPILER_WARNING: [#def9]
gettext-1.0/gettext-tools/gnulib-lib/strerror_r.c: scope_hint: In function 'rpl_strerror_r'
gettext-1.0/gettext-tools/gnulib-lib/strerror_r.c:452:32: warning[-Wformat-truncation=]: 'Unknown error ' directive output truncated writing 14 bytes into a region of size 2
#  452 |         snprintf (buf, buflen, "Unknown error %d", errnum);
#      |                                ^
/usr/include/bits/stdio2.h:68:10: note: '__builtin___snprintf_chk' output between 16 and 26 bytes into a destination of size 2
#   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
#      |          ^
#  450|           snprintf (buf, buflen, "Unknown Application Error (%d)", errnum);
#  451|   #else
#  452|->         snprintf (buf, buflen, "Unknown error %d", errnum);
#  453|   #endif
#  454|           buf[buflen - 1] = '\0';

Error: COMPILER_WARNING: [#def10]
gettext-1.0/gettext-tools/src/format-lisp.c: scope_hint: In function 'make_repeated_list'
gettext-1.0/gettext-tools/src/format-lisp.c:2186:12: warning[-Wunused-but-set-variable=]: variable 'j' set but not used
# 2186 |     size_t j = 0;
#      |            ^
# 2184|         }
# 2185|   
# 2186|->     size_t j = 0;
# 2187|       size_t tj = 0;
# 2188|       size_t sj = 0;

Error: COMPILER_WARNING: [#def11]
gettext-1.0/gettext-tools/src/format-scheme.c: scope_hint: In function 'make_repeated_list'
gettext-1.0/gettext-tools/src/format-scheme.c:2208:12: warning[-Wunused-but-set-variable=]: variable 'j' set but not used
# 2208 |     size_t j = 0;
#      |            ^
# 2206|         }
# 2207|   
# 2208|->     size_t j = 0;
# 2209|       size_t tj = 0;
# 2210|       size_t sj = 0;

Error: CPPCHECK_WARNING (CWE-457): [#def12]
gettext-1.0/gettext-tools/src/its.c:3057: error[legacyUninitvar]: Uninitialized variable: result
# 3055|       {
# 3056|         /* Caught a libxml error.  */
# 3057|->       if (result != NULL)
# 3058|           free (result);
# 3059|         result = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def13]
gettext-1.0/gettext-tools/src/msgpre.c:372: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: memory
#  370|                       {
#  371|                         char *memory = (char *) malloc (len + 1);
#  372|->                       memcpy (memory, language, len);
#  373|                         memory[len] = '\0';
#  374|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def14]
gettext-1.0/gettext-tools/src/msgpre.c:372:23: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘memory’ where non-null expected
gettext-1.0/gettext-tools/src/msgpre.c:173:12: branch_true: following ‘true’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:174:7: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:173:12: branch_false: following ‘false’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:299:6: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:299:6: branch_false: following ‘false’ branch (when ‘do_version == 0’)...
gettext-1.0/gettext-tools/src/msgpre.c:315:6: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:315:6: branch_false: following ‘false’ branch (when ‘do_help == 0’)...
gettext-1.0/gettext-tools/src/msgpre.c:319:7: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:319:6: branch_false: following ‘false’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:323:7: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:323:6: branch_false: following ‘false’ branch (when the strings are equal)...
gettext-1.0/gettext-tools/src/msgpre.c:328:6: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:328:6: branch_false: following ‘false’ branch (when ‘model’ is non-NULL)...
gettext-1.0/gettext-tools/src/msgpre.c:333:7: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:333:6: branch_false: following ‘false’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:338:6: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:338:6: branch_true: following ‘true’ branch (when ‘input_file’ is NULL)...
gettext-1.0/gettext-tools/src/msgpre.c:338:6: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:352:6: branch_true: following ‘true’ branch (when ‘prompt’ is NULL)...
gettext-1.0/gettext-tools/src/msgpre.c:352:6: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:355:26: branch_true: following ‘true’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:357:34: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:359:14: branch_true: following ‘true’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:359:34: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:359:15: branch_false: following ‘false’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:362:27: branch_false: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:364:18: branch_true: following ‘true’ branch...
gettext-1.0/gettext-tools/src/msgpre.c:366:19: branch_true: ...to here
gettext-1.0/gettext-tools/src/msgpre.c:371:47: acquire_memory: this call could return NULL
gettext-1.0/gettext-tools/src/msgpre.c:372:23: danger: argument 1 (‘memory’) from [(29)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/28) could be NULL where non-null expected
#  370|                       {
#  371|                         char *memory = (char *) malloc (len + 1);
#  372|->                       memcpy (memory, language, len);
#  373|                         memory[len] = '\0';
#  374|   

Error: CPPCHECK_WARNING (CWE-476): [#def15]
gettext-1.0/gettext-tools/src/msgpre.c:373: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: memory
#  371|                         char *memory = (char *) malloc (len + 1);
#  372|                         memcpy (memory, language, len);
#  373|->                       memory[len] = '\0';
#  374|   
#  375|                         to_language = memory;

Error: COMPILER_WARNING: [#def16]
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/lib.c:7: included_from: Included from here.
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/node.c: scope_hint: In function ‘ts_node_is_null’
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/node.c:498:21: warning[-Wzero-as-null-pointer-constant]: zero as null pointer constant
#  498 |   return self.id == 0;
#      |                     ^
#  496|   
#  497|   bool ts_node_is_null(TSNode self) {
#  498|->   return self.id == 0;
#  499|   }
#  500|   

Error: COMPILER_WARNING: [#def17]
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/lib.c:12: included_from: Included from here.
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/tree_cursor.c: scope_hint: In function ‘ts_tree_cursor_goto_last_child_internal’
gettext-1.0/gettext-tools/tree-sitter-0.23.2/lib/src/tree_cursor.c:225:33: warning[-Wzero-as-null-pointer-constant]: zero as null pointer constant
#  225 |   TreeCursorEntry last_entry = {0};
#      |                                 ^
#  223|     if (!iterator.parent.ptr || iterator.parent.ptr->child_count == 0) return TreeCursorStepNone;
#  224|   
#  225|->   TreeCursorEntry last_entry = {0};
#  226|     TreeCursorStep last_step = TreeCursorStepNone;
#  227|     while (ts_tree_cursor_child_iterator_next(&iterator, &entry, &visible)) {

Error: COMPILER_WARNING (CWE-457): [#def18]
gettext-1.0/libtextstyle/lib/libcroco/cr-cascade.c:157:25: warning[-Wmaybe-uninitialized]: 'css_file_contents' may be used uninitialized
#  157 |         a_sheet->origin = a_origin;
#      |                         ^
gettext-1.0/libtextstyle/lib/term-styled-ostream.oo.c: scope_hint: In function 'term_styled_ostream_create'
gettext-1.0/libtextstyle/lib/term-styled-ostream.oo.c:623:17: note: 'css_file_contents' was declared here
#  623 |   CRStyleSheet *css_file_contents;
#      |                 ^
#  155|           PRIVATE (a_this)->sheets[a_origin] = a_sheet;
#  156|           cr_stylesheet_ref (a_sheet);
#  157|->         a_sheet->origin = a_origin;
#  158|           return CR_OK;
#  159|   }

Error: COMPILER_WARNING (CWE-476): [#def19]
gettext-1.0/libtextstyle/lib/libcroco/cr-prop-list.c:102:29: warning[-Wnull-dereference]: potential null pointer dereference
#  102 |         PRIVATE (cur)->next = a_to_append;
#      |                             ^
#  100|                cur = PRIVATE (cur)->next) ;
#  101|           g_return_val_if_fail (cur, NULL);
#  102|->         PRIVATE (cur)->next = a_to_append;
#  103|           PRIVATE (a_to_append)->prev = cur;
#  104|           return a_this;

Scan Properties

analyzer-version-clippy1.97.1
analyzer-version-cppcheck2.21.1
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.97.1
diffbase-analyzer-version-cppcheck2.21.1
diffbase-analyzer-version-gcc16.1.1
diffbase-analyzer-version-gcc-analyzer16.1.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-84.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namegettext-0.26-4.fc44
diffbase-store-results-to/tmp/tmpwzosro62/gettext-0.26-4.fc44.tar.xz
diffbase-time-created2026-08-03 14:25:13
diffbase-time-finished2026-08-03 14:44:37
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmpwzosro62/gettext-0.26-4.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpwzosro62/gettext-0.26-4.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.7.HEAD-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-84.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namegettext-1.0-3.fc45
store-results-to/tmp/tmpr3s4gjli/gettext-1.0-3.fc45.tar.xz
time-created2026-08-03 14:44:48
time-finished2026-08-03 15:03:41
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmpr3s4gjli/gettext-1.0-3.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpr3s4gjli/gettext-1.0-3.fc45.src.rpm'
tool-versioncsmock-3.8.7.HEAD-1.el9