/*@constant observer char *LCL_PARSE_VERSION;@*/
# define LCL_PARSE_VERSION "LCLint 2.5q"
/*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using /usr/local/bin/gcc -Wall -g on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
+# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 -Wall -g on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
/*@constant observer char *LCL_PARSE_VERSION;@*/
# define LCL_PARSE_VERSION "LCLint 2.5q"
/*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using /opt/GCC281/bin/gcc -DSTDC_HEADERS=1 -g -Wall on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
+# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 -g -Wall on FreeBSD shankly.cs.virginia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 by drl7x"
-
-abstptr.c: (in function main)
-abstptr.c:13:3: Assignment of abst * to void *: vp = ap
-abstptr.c:14:3: Assignment of abst * to int *: ip = ap2
-abstptr.c:15:3: Assignment of int * to abst *: ap = ip
-abstptr.c:16:17: Cast from underlying abstract type abst *: (void *)ap
-abstptr.c:17:8: Dereference of null pointer ap: *ap
- abstptr.c:15:8: Storage ap becomes null
-abstptr.c:19:16: Cast from underlying abstract type abst *: (void *)&a
-abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b
-abstptr.c:21:3: Assignment of int * to abst *: ap = &b
-abstptr.c:22:3: Assignment of int to abst: *ap = b
-
-Finished LCLint checking --- 9 code errors found, as expected
-
-abstptr.c: (in function main)
-abstptr.c:14:3: Assignment of abst * to int *: ip = ap2
-abstptr.c:15:3: Assignment of int * to abst *: ap = ip
-abstptr.c:17:8: Dereference of null pointer ap: *ap
- abstptr.c:15:8: Storage ap becomes null
-abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b
-abstptr.c:21:3: Assignment of int * to abst *: ap = &b
-abstptr.c:22:3: Assignment of int to abst: *ap = b
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-alias.c: (in function f)
-alias.c:11:3: Possible undocumented modification of *a through alias *x: *x = 3
-alias.c:14:3: Possible undocumented modification of *a through alias *y: *y = 4
-alias.c:16:3: Undocumented modification of globp: globp = a
-alias.c:17:25: Function returns with global variable globp aliasing parameter a
-alias.c:21:7: Undocumented modification of globp: globp = z
-alias.c:21:15: Variable z used before definition
-alias.c:25:3: Undocumented modification of *globp: *globp = 4
-alias.c:25:3: Possible undocumented modification of *a through alias *globp:
- *globp = 4
-alias.c:28:3: Possible undocumented modification of *globp through alias *x:
- *x = 7
-alias.c:28:3: Possible undocumented modification of *a through alias *x: *x = 7
-alias.c:31:3: Possible undocumented modification of glob through alias *x:
- *x = 4
-alias.c:38:3: Possible undocumented modification of **c through alias *x:
- *x = 4
-alias.c:40:3: Possible undocumented modification of **c through alias *a:
- *a = 4
-alias.c:41:3: Undocumented modification of *globp: *globp = 3
-alias.c:41:3: Possible undocumented modification of *a through alias *globp:
- *globp = 3
-alias.c:42:12: Function returns with global variable globp aliasing parameter a
-alias.c: (in function h)
-alias.c:49:3: Undocumented modification of a possible from call to mut_mod:
- mut_mod(a)
-alias.c:51:3: Undocumented modification of b possible from call to mut_mod
- (through alias a): mut_mod(a)
-alias.c:55:12: Owned storage b not released before return
- alias.c:52:3: Storage b becomes owned
-
-Finished LCLint checking --- 19 code errors found, as expected
-
-alias2.c: (in function f)
-alias2.c:17:3: Variable lx used before definition
-alias2.c:20:7: Possible undocumented modification of *a through alias *lx:
- *lx = 4
-alias2.c:29:7: Possible undocumented modification of *a through alias *x:
- *x = 3
-alias2.c:34:7: Possible undocumented modification of **c through alias *x:
- *x = 3
-alias2.c:38:3: Possible undocumented modification of *a through alias *x:
- *x = 4
-alias2.c:38:3: Possible undocumented modification of **c through alias *x:
- *x = 4
-alias2.c:41:8: Undocumented modification of **c: **c = b
-alias2.c:43:7: Possible undocumented modification of glob through alias *y:
- *y = 3
-alias2.c:43:7: Possible undocumented modification of *globp through alias *y:
- *y = 3
-alias2.c:44:7: Undocumented modification of globp: globp = a
-alias2.c:53:3: Possible undocumented modification of glob through alias *a:
- *a = 3
-alias2.c:53:3: Undocumented modification of *a: *a = 3
-alias2.c:54:3: Possible undocumented modification of *globp through alias *z:
- *z = 6
-alias2.c:54:3: Possible undocumented modification of *a through alias *z:
- *z = 6
-alias2.c:55:3: Undocumented modification of *globp: *globp = 5
-alias2.c:55:3: Possible undocumented modification of *a through alias *globp:
- *globp = 5
-alias2.c:56:12: Function returns with global variable globp aliasing parameter
- a
-
-Finished LCLint checking --- 17 code errors found, as expected
-
-alias3.c: (in function model)
-alias3.c:16:3: Undocumented modification of gst.a: gst.a = 3
-alias3.c:17:3: Undocumented modification of gu->a: gu->a = 5
-alias3.c: (in function f)
-alias3.c:38:3: Possible undocumented modification of ia[3] through alias *ip:
- *ip = 7
-alias3.c:42:3: Possible undocumented modification of ia[] through alias *ip:
- *ip = 8
-alias3.c:44:3: Undocumented modification of ia[6] possible from call to model:
- model(ia)
-alias3.c:46:3: Undocumented modification of ia[6] possible from call to model
- (through alias ip[6]): model(ip)
-alias3.c:49:3: Undocumented modification of *(s1.b): *(s1.b) = 7
-alias3.c:52:3: Undocumented modification of *(s1.b) possible from call to modst
- (through alias *(sl.b)): modst(sl)
-alias3.c:56:3: Undocumented modification of *(s1.b): *(s1.b) = 3
-alias3.c:57:3: Possible undocumented modification of *(s1.b) through alias *ip:
- *ip = 6
-alias3.c:58:3: Possible undocumented modification of *(s1.b) through alias
- *(sl.b): *(sl.b) = 3
-alias3.c:61:3: Undocumented modification of *u1 possible from call to modu
- (through alias *ul): modu(ul)
-alias3.c:62:3: Possible undocumented modification of u1->a through alias ul->a:
- ul->a = 3
-alias3.c:65:3: Possible undocumented modification of *(u1->s.b) through alias
- *(sl.b): *(sl.b) = 6
-
-Finished LCLint checking --- 14 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-alias4.c: (in function f)
-alias4.c:15:10: Function may return reference to parameter a through alias c: c
-alias4.c:15:10: Function may return reference to parameter b through alias c: c
-alias4.c: (in function h)
-alias4.c:26:12: Function returns reference to global glob: &glob
-alias4.c:28:12: Function returns reference to global globp: globp
-alias4.c:30:12: Function returns reference to global globs: (globs.field)
-alias4.c:32:12: Function returns reference to global globs: (&(globs.val))
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-alias5.c: (in function incx1)
-alias5.c:13:3: Possible undocumented modification of p->x through alias p2->x:
- p2->x++
-alias5.c: (in function incx2)
-alias5.c:22:2: Fresh storage p2 not released before return
- alias5.c:20:3: Fresh storage p2 allocated
-alias5.c: (in function incx3)
-alias5.c:27:3: Only storage p2->x not released before assignment: p2->x = p->x
-alias5.c:28:3: Possible undocumented modification of *(p->x) through alias
- *(p2->x): *(p2->x) = 3
-alias5.c:30:2: Storage p->x reachable from parameter is kept (should be only)
- alias5.c:27:3: Storage p->x becomes kept
-
-Finished LCLint checking --- 5 code errors found, as expected
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
# include "employee.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include <stdio.h>
# include "bool.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include <stdio.h>
# include "bool.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
# include "employee.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
# include "employee.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
# include "employee.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
-/* Output from LCLint 2.5p */
+/* Output from LCLint 2.5q */
# include "bool.h"
# include "bool.h"
--- /dev/null
+//#include "/home/drl7x/re/LCLintDev/lib/ansi.h"
+
+static char f [12];
+extern void /*@alt char * @*/
+ mstrcpy (/*@unique@*/ /*@out@*/ /*returned*/ char *s1, char *s2)
+ /*@modifies *s1@*/ /*@bufferConstraint MaxSet(s1) >= MaxRead(s2); @*/;
+
+
+void copyf (char * c) /*@bufferConstraint MaxSet(c) >= MaxRead(f); @*/
+{
+ mstrcpy (c, f);
+}
-
-keep.c: (in function f2)
-keep.c:12:9: Keep storage passed as only param: free (x)
- keep.c:10:26: Storage x becomes keep
-keep.c: (in function f3)
-keep.c:19:27: Keep storage x not transferred before return
- keep.c:15:25: Storage x becomes keep
-keep.c: (in function f5)
-keep.c:36:10: Keep storage x not transferred before return
- keep.c:34:39: Storage x becomes keep
-keep.c: (in function f6)
-keep.c:44:5: Variable x is kept in true branch, but not kept in continuation.
- keep.c:43:11: Storage x becomes kept
-keep.c:46:7: Kept storage x passed as keep param: f2 (x)
- keep.c:44:5: Storage x becomes kept
-keep.c: (in function f7)
-keep.c:60:10: Kept storage x returned as implicitly only: x
- keep.c:58:5: Storage x becomes kept
-
-Finished LCLint checking --- 6 code errors found, as expected
Finished LCLint checking --- no code errors found
-/a/apollo/af9/drl7x/re/LCLintDev/test/maxset
+/a/apollo/af9/drl7x/tmp/re/LCLintDev/test/maxset
maxsetnoannotations.c: (in function noancopy)
maxsetnoannotations.c:4:1: Unresolved constraint:
-
-null1.c: (in function f)
-null1.c:19:20: Implicitly temp storage x returned as only: x
-null1.c:19:20: Possibly null storage x returned as non-null: x
- null1.c:10:35: Storage x may become null
-null1.c:19:22: Fresh storage y not released before return
- null1.c:12:41: Fresh storage y allocated
-null1.c:31:4: Dereference of possibly null pointer y: *y
- null1.c:12:12: Storage y may become null
-null1.c:34:5: Possibly null storage z passed as non-null param: g (z)
- null1.c:25:7: Storage z may become null
-null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
-null1.c:39:14: Dereference of null pointer z: *z
- null1.c:25:7: Storage z becomes null
-null1.c:43:22: Dereference of possibly null pointer z4: *z4
- null1.c:42:8: Storage z4 may become null
-null1.c:46:25: Dereference of possibly null pointer z2: *z2
- null1.c:26:8: Storage z2 may become null
-null1.c:49:11: Dereference of possibly null pointer z3: *z3
- null1.c:27:8: Storage z3 may become null
-null1.c:55:4: Dereference of possibly null pointer z2: *z2
- null1.c:51:8: Storage z2 may become null
-null1.c:59:23: Dereference of possibly null pointer z5: *z5
- null1.c:57:8: Storage z5 may become null
-null1.c:67:10: Possibly null storage z returned as non-null: z
- null1.c:25:7: Storage z may become null
-null1.c:67:12: Fresh storage z3 not released before return
- null1.c:27:3: Fresh storage z3 allocated
-
-Finished LCLint checking --- 14 code errors found, as expected
-
-null1.c: (in function f)
-null1.c:19:20: Implicitly temp storage x returned as only: x
-null1.c:19:22: Fresh storage y not released before return
- null1.c:12:41: Fresh storage y allocated
-null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
-null1.c:67:12: Fresh storage z3 not released before return
- null1.c:27:3: Fresh storage z3 allocated
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null2.c: (in function f)
-null2.c:15:10: Left operand of && is non-boolean (int *): x1 && (*x1 == 3)
-null2.c:16:19: Dereference of possibly null pointer x2: *x2
- null2.c:10:55: Storage x2 may become null
-null2.c:17:18: Dereference of possibly null pointer x3: *x3
- null2.c:11:21: Storage x3 may become null
-null2.c:17:10: Left operand of || is non-boolean (int *): x3 || (*x3 == 3)
-null2.c:20:27: Dereference of possibly null pointer x1: *x1
- null2.c:10:35: Storage x1 may become null
-null2.c:23:7: Left operand of && is non-boolean (int *): x4 && (*x4 == 3)
-null2.c:30:8: Dereference of possibly null pointer x4: *x4
- null2.c:11:41: Storage x4 may become null
-null2.c:35:14: Implicitly temp storage x3 returned as only: (x3)
-null2.c:35:14: Possibly null storage x3 returned as non-null: (x3)
- null2.c:11:21: Storage x3 may become null
-null2.c:39:10: Implicitly temp storage x1 returned as only: (x1)
-
-Finished LCLint checking --- 10 code errors found, as expected
-
-null3.c: (in function f3)
-null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:3:25: Storage gnip may become null
-null3.c: (in function f)
-null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
-null3.c:37:8: Dereference of possibly null pointer z: *z
- null3.c:25:12: Storage z may become null
-null3.c:38:16: Only storage aip not released before return
- null3.c:22:66: Storage aip becomes only
-null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
-null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:51:10: Storage gnip may become null
-null3.c:53:9: Variable z used after being released
- null3.c:51:3: Storage z released
-null3.c:53:3: Only storage gip not released before assignment (z aliases gnip):
- gip = z
- null3.c:5:17: Storage gip becomes only
-null3.c:55:3: Only storage gnip not released before assignment: gnip = aip
- null3.c:53:3: Storage gnip becomes only
-null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:60:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c:65:14: Possibly null storage y returned as non-null: y
- null3.c:24:12: Storage y may become null
-null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:65:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c: (in function f2)
-null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:55:10: Storage gnip may become null
-
-Finished LCLint checking --- 15 code errors found, as expected
-
-null3.c: (in function f3)
-null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:3:25: Storage gnip may become null
-null3.c: (in function f)
-null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
-null3.c:35:13: Possibly null storage y passed as non-null param: free (y)
- null3.c:24:12: Storage y may become null
-null3.c:37:8: Dereference of possibly null pointer z: *z
- null3.c:25:12: Storage z may become null
-null3.c:38:16: Only storage aip not released before return
- null3.c:22:66: Storage aip becomes only
-null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
-null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:51:10: Storage gnip may become null
-null3.c:53:9: Variable z used after being released
- null3.c:51:3: Storage z released
-null3.c:53:3: Only storage gip not released before assignment (z aliases gnip):
- gip = z
- null3.c:5:17: Storage gip becomes only
-null3.c:55:3: Only storage gnip not released before assignment: gnip = aip
- null3.c:53:3: Storage gnip becomes only
-null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:60:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c:65:14: Possibly null storage y returned as non-null: y
- null3.c:24:12: Storage y may become null
-null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:65:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c: (in function f2)
-null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:55:10: Storage gnip may become null
-
-Finished LCLint checking --- 16 code errors found, as expected
-
-null4.c: (in function g)
-null4.c:43:3: Only storage p not released before assignment: p = malloc(24)
- null4.c:3:28: Storage p becomes only
-
-Finished LCLint checking --- 1 code error found, as expected
-
-null5.c:5:57: Qualifier falsenull used with function returning char (should
- return bool)
-null5.c:6:66: Qualifier falsenull used with function having 2 arguments (should
- have 1)
-null5.c: (in function g2)
-null5.c:26:15: Dereference of possibly null pointer y: *y
- null5.c:18:25: Storage y may become null
-null5.c: (in function g3)
-null5.c:37:11: Dereference of null pointer y: *y
- null5.c:30:25: Storage y becomes null
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
- mnull
-null6.c: (in function f)
-null6.c:11:11: Dereference of possibly null pointer x: *x
-null6.c: (in function f6)
-null6.c:68:10: Possibly null storage x returned as non-null: x
- null6.c:61:31: Storage x may become null
-null6.c: (in function f7)
-null6.c:84:10: Possibly null storage x returned as non-null: x
- null6.c:81:11: Storage x may become null
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
- mnull
-null6.c: (in function f)
-null6.c:11:11: Dereference of possibly null pointer x: *x
-null6.c: (in function f6)
-null6.c:68:10: Possibly null storage x returned as non-null: x
- null6.c:61:31: Storage x may become null
-null6.c: (in function f7)
-null6.c:84:10: Possibly null storage x returned as non-null: x
- null6.c:81:11: Storage x may become null
-
-Finished LCLint checking --- 4 code errors found, as expected
--- /dev/null
+-no-lib
++fcnpost