]> andersk Git - splint.git/blobdiff - test/db1.expect
Fixed manual csvoverwrite.
[splint.git] / test / db1.expect
index 3a27d48519e3e82afc7e1dbe08e1fbcb6fcd5c38..0132b0a020e0c2fbc9e73e169f4acddb54d2bae9 100644 (file)
@@ -2,6 +2,9 @@
 employee.c: (in function employee_equal)
 employee.c:25: Function strncmp expects arg 3 to be size_t gets int:
                   maxEmployeeName
+employee.c: (in function employee_sprint)
+employee.c:33: Buffer overflow possible with sprintf.  Recommend using snprintf
+                  instead: sprintf
 empset.c: (in function empset_insert)
 empset.c:28: Variable er declared but not used
 empset.c: (in function empset_disjointUnion)
@@ -21,10 +24,6 @@ empset.c:135: Variable e declared but not used
 ereftab.c: (in function ereftab_lookup)
 ereftab.c:34: Undocumented modification of t possible from call to
                  erc_iterStart: erc_iterStart(t)
-erc.c: (in function erc_member)
-erc.c:47: Operands of == are abstract type (eref): tmpc->val == er
-erc.c: (in function erc_delete)
-erc.c:78: Operands of == are abstract type (eref): elem->val == er
 erc.c: (in function erc_sprint)
 erc.c:141: Function malloc expects arg 1 to be size_t gets int:
               erc_size(c) * (employeePrintSize + 1) + 1
@@ -34,9 +33,17 @@ dbase.c: (in function query)
 dbase.c:210: Variable er declared but not used
 dbase.c:211: Variable e declared but not used
 drive.c: (in function main)
+drive.c:47: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
+drive.c:63: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
+drive.c:81: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
+drive.c:118: Buffer overflow possible with sprintf.  Recommend using snprintf
+                instead: sprintf
 drive.c:123: Return value (type db_status) ignored: hire(e)
 
-Finished checking --- 16 code warnings, as expected
+Finished checking --- 19 code warnings, as expected
 
 employee.h:2: Name EMPLOYEE_H is reserved for future library extensions. Macros
     beginning with E and a digit or uppercase letter may be added to <errno.h>.
@@ -83,6 +90,8 @@ employee.c:31: Read-only string literal storage used as initial value for
                   unqualified storage: jobs[1] = "non-manager"
 employee.c:31: Read-only string literal storage used as initial value for
                   unqualified storage: jobs[2] = "?"
+employee.c:33: Buffer overflow possible with sprintf.  Recommend using snprintf
+                  instead: sprintf
 employee.c:34: Array fetch using non-integer, gender: gender[e.gen]
 employee.c:34: Array fetch using non-integer, job: jobs[e.j]
 employee.h: (in macro employee_initMod)
@@ -265,14 +274,15 @@ erc.c:13: Argument to exit has implementation defined behavior: 1
 erc.c:18: Null storage c->vals derivable from return value: c
    erc.c:16: Storage c->vals becomes null
 erc.c:18: Fresh storage returned as unqualified (should be only): c
-   erc.c:8: Fresh storage c allocated
+   erc.c:8: Fresh storage c created
 erc.c: (in function erc_clear)
 erc.c:34: Function returns with null storage derivable from parameter c->vals
    erc.c:32: Storage c->vals becomes null
 erc.c: (in function erc_final)
 erc.c:39: Implicitly temp storage c passed as only param: free (c)
 erc.c: (in function erc_member)
-erc.c:47: Operands of == are abstract type (eref): tmpc->val == er
+erc.c:47: Object equality comparison (==) on objects of abstract type (eref):
+             tmpc->val == er
 erc.c:47: Body of if statement is not a block: return TRUE
 erc.c:47: Body of for statement is not a block:
              if (tmpc->val == er) return TRUE
@@ -280,26 +290,28 @@ erc.c: (in function erc_insert)
 erc.c:55: Parameter to sizeof is type ercElem: sizeof(ercElem)
 erc.c:60: Argument to exit has implementation defined behavior: 1
 erc.c: (in function erc_delete)
-erc.c:78: Operands of == are abstract type (eref): elem->val == er
+erc.c:78: Object equality comparison (==) on objects of abstract type (eref):
+             elem->val == er
 erc.c:83: Implicitly only storage prev->next (type struct _elem *) not released
              before assignment: prev->next = elem->next
 erc.c:84: Clauses exit with elem referencing implicitly only storage in true
              branch, local storage in false branch
-   erc.c:81: Storage elem becomes implicitly only
+   erc.c:81: Storage elem becomes implicitly only (through alias c->vals)
 erc.c:87: Released storage c->vals reachable from parameter at return point
-   erc.c:85: Storage c->vals is released
+   erc.c:85: Storage c->vals released
 erc.c: (in function erc_iterStart)
 erc.c:98: Parameter to sizeof is type ercList: sizeof(ercList)
 erc.c:103: Argument to exit has implementation defined behavior: 1
 erc.c:107: Fresh storage returned as unqualified (should be only): result
-   erc.c:98: Fresh storage result allocated
+   erc.c:98: Fresh storage result created
 erc.c:108: Suspect object listed in modifies of erc_iterStart not modified: c
    erc.lcl:49: Specification of erc_iterStart
 erc.c: (in function erc_yield)
 erc.c:117: Implicitly temp storage it passed as only param: free (it)
 erc.c:117: Unreachable code: free(it)
 erc.c:118: Variable it is released in true branch, but live in continuation.
-   erc.c:117: Storage it is released
+   erc.c:118: in true branch:
+   erc.c:117: Storage it released
 erc.c:121: Only storage *it->next assigned to unqualified: *(it) = (*it)->next
 erc.c: (in function erc_join)
 erc.c:130: Body of for statement is not a block: erc_insert(c1, tmpc->val);
@@ -310,7 +322,7 @@ erc.c:146: Argument to exit has implementation defined behavior: 1
 erc.c:151: Undocumented modification of c possible from call to erc_iterStart:
               erc_iterStart(c)
 erc.c:159: Fresh storage returned as unqualified (should be only): result
-   erc.c:140: Fresh storage result allocated
+   erc.c:140: Fresh storage result created
 erc.h: (in macro erc_choose)
 erc.h:15: Macro parameter used without parentheses: c
 erc.h: (in macro erc_initMod)
@@ -541,10 +553,16 @@ dbase.c:272: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
 drive.c: (in function main)
 drive.c:22: Statement has no effect: employee_initMod()
 drive.c:23: Statement has no effect: empset_initMod()
+drive.c:47: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
 drive.c:48: Return value (type bool) ignored: employee_setName...
 drive.c:49: Return value (type bool) ignored: empset_insert(em...
+drive.c:63: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
 drive.c:64: Return value (type bool) ignored: employee_setName...
 drive.c:65: Return value (type bool) ignored: empset_delete(em...
+drive.c:81: Buffer overflow possible with sprintf.  Recommend using snprintf
+               instead: sprintf
 drive.c:82: Return value (type bool) ignored: employee_setName...
 drive.c:83: Return value (type bool) ignored: empset_insert(em...
 drive.c:107: Return value (type bool) ignored: empset_delete(em...
@@ -553,6 +571,8 @@ drive.c:116: Body of else clause of if statement is not a block:
                 e.gen = FEMALE;
 drive.c:117: Body of if clause of if statement is not a block: e.j = NONMGR;
 drive.c:117: Body of else clause of if statement is not a block: e.j = MGR;
+drive.c:118: Buffer overflow possible with sprintf.  Recommend using snprintf
+                instead: sprintf
 drive.c:119: Return value (type bool) ignored: employee_setName...
 drive.c:123: Return value (type db_status) ignored: hire(e)
 drive.c:127: Assignment of db_status to int: j = hire(e)
@@ -561,25 +581,25 @@ drive.c:134: Return value (type bool) ignored: fire(17)
 drive.c:158: Return value (type bool) ignored: fire(empset_choo...
 drive.c:11: Parameter argv not used
 dbase.c:11: Type employeeKinds declared but not used
-eref.lh:8: Function exported but not used outside eref: eref_free
+eref.lh:7: Function exported but not used outside eref: eref_free
    eref.h:23: Definition of eref_free
-empset.lh:8: Function exported but not used outside empset: empset_final
+empset.lh:7: Function exported but not used outside empset: empset_final
    empset.h:29: Definition of empset_final
-empset.lh:9: Function exported but not used outside empset: empset_clear
+empset.lh:8: Function exported but not used outside empset: empset_clear
    empset.c:24: Definition of empset_clear
-empset.lh:11: Function exported but not used outside empset:
+empset.lh:10: Function exported but not used outside empset:
                  empset_insertUnique
    empset.c:53: Definition of empset_insertUnique
-empset.lh:17: Function exported but not used outside empset: empset_member
+empset.lh:16: Function exported but not used outside empset: empset_member
    empset.h:30: Definition of empset_member
-empset.lh:18: Function exported but not used outside empset: empset_subset
+empset.lh:17: Function exported but not used outside empset: empset_subset
    empset.c:144: Definition of empset_subset
-ereftab.lh:10: Function exported but not used outside ereftab: ereftab_delete
+ereftab.lh:9: Function exported but not used outside ereftab: ereftab_delete
    ereftab.c:26: Definition of ereftab_delete
 dbase.c:13: Variable exported but not used outside dbase: db
-dbase.lh:27: Function exported but not used outside dbase: promote
+dbase.lh:26: Function exported but not used outside dbase: promote
    dbase.c:182: Definition of promote
-dbase.lh:28: Function exported but not used outside dbase: setSalary
+dbase.lh:27: Function exported but not used outside dbase: setSalary
    dbase.c:206: Definition of setSalary
 empset.h:10: Variable exported but not used outside empset: known
 dbase.c:15: Variable exported but not used outside dbase: initDone
@@ -609,7 +629,7 @@ compdef                      3           0
 incondefs                    0           1
 sizeoftype                   7           0
 formalarray                  0          24
-abstract                     2           0
+abstractcompare              2           0
 mustfreeonly                 3           0
 usereleased                  1           0
 compdestroy                  1           0
@@ -653,7 +673,8 @@ type                         1           0
 enumindex                   24           0
 enumint                     15           0
 matchanyintegral             2           0
+bufferoverflowhigh           5           0
                           ========  =========
-Total                      333          73
+Total                      338          73
 
-Finished checking --- 333 code warnings, as expected
+Finished checking --- 338 code warnings, as expected
This page took 0.105824 seconds and 4 git commands to generate.