nsf

Clone Tools
  • last updated 18 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Adding Coverity instructions

- move assertion after assingment

- move dereferencing of members after assertions

- fix potential bug on tcl-triggered cmd-delete operations, where destroy returns non-TCL_OK and name of the object could not be retrieved anymore in error message.

- attempt to make Coverty happy (CID 88769)

- removed NsfParamDefs.slotObj (and single occurance for memory-management) since it is not used for the time being

- remove test, since it is covered already by assertions

- write body-blocks of if on separate lines - change variable name "validCscPtr" to "isValidCsc", since it is a boolean and not a ptr (tcl coding guidelines) - prefer explicit comparisons

MethodDispatch(): Fix compiler warning on typecast mismatch

MixinregSetFromAny(): Re-arrange control flow as to match other uses in the code base (CID 88777)

ResolveMethodName(): Guard against potential null pointer dereference (CID 88771).

FreeAllNsfObjectsAndClasses(): Remove unneeded NULL check as dereferencing already occurred before; check for NULL earlier (CID 88780)

MixinregSetFromAny(): Fix crash through explicit null dereferencing when an invalid list string-rep is provided as mixinreg (CID 88777); added tests

MakeProc(): Silence false-positive warning, due to missing returns_nonnull annotation (CID 88770).

nsf.c: Check return values of GetObjectFromObj explicitly (CID 88763, 88764, 88765).

ObjectSystemsCheckSystemMethod(): Mark TCL_ERROR path as unlikely

ObjectSystemsCheckSystemMethod(): Re-order control flow to remove otherwise dead IF-branch (CID 88768)

NsfMethodPropertyCmd(): Dropped option 'slotobj' as it is obsolete. Also fixes CID 88767. See TODO for further cleanup steps.

info.man.inc: Make empty-string ambiguity explicit for 'info method *'

ListMethod(): Make sure that 'info method exists' returns 0 for (plain) NX objects; added some tests

ListCmdParams(): Removed logically dead code (CID 88779).

NsfShowStack(): Removed logically dead code. CID 88766.

- fix compilation when compiled without --enable-profile

Improve profiling support - added profile support for undispatched methods (i.e. implemented via CallDirectly) - new function for controlling profile trace nsf:__profile_trace -enable /bool/ ?-verbose /bool/?

C-code generator:

- allow type boolean for non-positional arguments

Silence varargs warning (-Wgnu-zero-variadic-macro-arguments) under clang --std=c99 -pedantic, tested under gcc, clang 3.6, and MSVC; added tests

- changed trace facility to append to a variable to minimize interactions for results and return codes, which happen via nsf::log. - added more convenient function for adding to DStrings: Nsf_DStringPrintf - renamed NsfDStringPrintf to NsfDStringVPrintf - replaced complex macros for tracing by functions

- added experimental "nsf::configure trace" feature, which can be enabled when compiled with profile support. trace turns on automatically profile

- reduce verbosity

- improve cleanness of compilation when "-pedantic" is used

- move assignments after assertions