ptr-arith.c revision 3c4b37980ad5582409fa9a99ac29da8ab59f1ed0
1e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu// RUN: clang -analyze -checker-simple -analyzer-store=region -verify %s 2e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu 3e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xuvoid f1() { 4e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu int a[10]; 5e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu int *p = a; 6e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu ++p; 7e184b1e4e06c059a8360fae4c9b5ea00fd62014dZhongxing Xu} 82b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xu 92b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xuchar* foo(); 102b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xu 112b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xuvoid f2() { 122b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xu char *p = foo(); 132b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xu ++p; 142b1dc179197955bfa79583b13bedb1dc8bcdf25dZhongxing Xu} 153c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu 163c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xuchar* memchr(); 173c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xustatic int 183c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xudomain_port (const char *domain_b, const char *domain_e, 193c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu const char **domain_e_ptr) 203c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu{ 213c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu int port = 0; 223c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu 233c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu const char *p; 243c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu const char *colon = memchr (domain_b, ':', domain_e - domain_b); 253c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu 263c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu for (p = colon + 1; p < domain_e ; p++) 273c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu port = 10 * port + (*p - '0'); 283c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu return port; 293c4b37980ad5582409fa9a99ac29da8ab59f1ed0Zhongxing Xu} 30