Skip to content

Instantly share code, notes, and snippets.

@Lokaltog
Created March 6, 2014 19:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Lokaltog/9397516 to your computer and use it in GitHub Desktop.
Save Lokaltog/9397516 to your computer and use it in GitHub Desktop.
src/widgets/widgets.c: (in function update_widget)
src/widgets/widgets.c:13:18: Format string parameter to snprintf is not a
compile-time constant: script_template
Format parameter is not known at compile-time. This can lead to security
vulnerabilities because the arguments cannot be type checked. (Use
-formatconst to inhibit warning)
src/widgets/widgets.c:13:27: Null storage passed as non-null param:
snprintf (NULL, ...)
A possibly null pointer is passed as a parameter corresponding to a formal
parameter with no /*@null@*/ annotation. If NULL may be used for this
parameter, add a /*@null@*/ annotation to the function parameter declaration.
(Use -nullpass to inhibit warning)
src/widgets/widgets.c:19:18: Function malloc expects arg 1 to be size_t gets
int: script_length + 1
To allow arbitrary integral types to match any integral type, use
+matchanyintegral.
src/widgets/widgets.c:24:2: Buffer overflow possible with sprintf. Recommend
using snprintf instead: sprintf
Use of function that may lead to buffer overflow. (Use -bufferoverflowhigh to
inhibit warning)
src/widgets/widgets.c:24:2: Format string parameter to sprintf is not a
compile-time constant: script_template
src/widgets/widgets.c:24:10: Possibly null storage script passed as non-null
param: sprintf (script, ...)
src/widgets/widgets.c:19:11: Storage script may become null
src/widgets/widgets.c: (in function window_object_cleared_cb)
src/widgets/widgets.c:37:2: Unrecognized identifier: wklog
Identifier used in code has not been declared. (Use -unrecog to inhibit
warning)
src/widgets/widgets.c:38:14: Operands of < have incompatible types (unsigned
short int, arbitrary unsigned integral type):
i < (sizeof(wkline_widgets) / sizeof(wkline_widgets[0]))
To ignore type qualifiers in type comparisons use +ignorequals.
src/widgets/widgets.c:43:10: Arrow access from possibly null pointer widget:
widget->config
A possibly null pointer is dereferenced. Value is either the result of a
function which may return null (in which case, code should check it is not
null), or a global, parameter or structure field declared with the null
qualifier. (Use -nullderef to inhibit warning)
src/widgets/widgets.c:41:28: Storage widget may become null
src/widgets/widgets.c:44:4: Implicitly temp storage web_view assigned to
implicitly only: widget->web_view = web_view
Temp storage (associated with a formal parameter) is transferred to a
non-temporary reference. The storage may be released or new aliases created.
(Use -temptrans to inhibit warning)
src/widgets/widgets.c:46:19: Unrecognized identifier: strdup
src/widgets/widgets.c:49:74: Cast from function pointer type (GThreadFunc) to
non-function pointer (void *): (GThreadFunc)wkline_widgets[i].func
A pointer to a function is cast to (or used as) a pointer to void (or vice
versa). (Use -castfcnptr to inhibit warning)
src/widgets/widgets.c:50:4: Fresh storage widget not released before scope exit
A memory leak has been detected. Storage allocated locally is not released
before the last reference to it is lost. (Use -mustfreefresh to inhibit
warning)
src/widgets/widgets.c:41:49: Fresh storage widget created
src/widgets/widgets.c:50:3: Storage wkline->config is kept in one path, but
live in another.
The state of a variable is different depending on which branch is taken. This
means no annotation can sensibly be applied to the storage. (Use -branchstate
to inhibit warning)
src/widgets/widgets.c:43:4: Storage wkline->config becomes kept
src/widgets/widgets.c:50:3: Variable web_view is kept in true branch, but not
kept in continuation.
src/widgets/widgets.c:50:3: in true branch:
src/widgets/widgets.c:44:4: Storage web_view becomes kept
src/widgets/widgets.c:51:2: Variable web_view is kept in for body, but not kept
if for loop body does not execute.
src/widgets/widgets.c:51:2: in for body:
src/widgets/widgets.c:50:3: Storage web_view becomes kept
src/widgets/widgets.c:33:64: Parameter pspec not used
A function parameter is not used in the body of the function. If the argument
is needed for type compatibility or future plans, use /*@unused@*/ in the
argument declaration. (Use -paramuse to inhibit warning)
src/widgets/widgets.c:33:80: Parameter context not used
src/widgets/widgets.c:33:98: Parameter window_object not used
src/widgets/widgets.c:4:77: Variable exported but not used outside widgets:
widget_threads
A declaration is exported, but not used outside this module. Declaration can
use static qualifier. (Use -exportlocal to inhibit warning)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment