Showing error 1406

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-regression/rule60_list2.c_unsafe_1.i
Line in file: 9
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1# 1 "files/rule60_list2.c"
   2# 1 "<built-in>"
   3# 1 "<command-line>"
   4# 1 "files/rule60_list2.c"
   5# 1 "./assert.h" 1
   6
   7void __blast_assert()
   8{
   9 ERROR: goto ERROR;
  10}
  11# 2 "files/rule60_list2.c" 2
  12# 1 "/usr/include/malloc.h" 1 3 4
  13# 24 "/usr/include/malloc.h" 3 4
  14# 1 "/usr/include/features.h" 1 3 4
  15# 347 "/usr/include/features.h" 3 4
  16# 1 "/usr/include/sys/cdefs.h" 1 3 4
  17# 353 "/usr/include/sys/cdefs.h" 3 4
  18# 1 "/usr/include/bits/wordsize.h" 1 3 4
  19# 354 "/usr/include/sys/cdefs.h" 2 3 4
  20# 348 "/usr/include/features.h" 2 3 4
  21# 371 "/usr/include/features.h" 3 4
  22# 1 "/usr/include/gnu/stubs.h" 1 3 4
  23
  24
  25
  26# 1 "/usr/include/bits/wordsize.h" 1 3 4
  27# 5 "/usr/include/gnu/stubs.h" 2 3 4
  28
  29
  30
  31
  32# 1 "/usr/include/gnu/stubs-64.h" 1 3 4
  33# 10 "/usr/include/gnu/stubs.h" 2 3 4
  34# 372 "/usr/include/features.h" 2 3 4
  35# 25 "/usr/include/malloc.h" 2 3 4
  36# 1 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 1 3 4
  37# 149 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 3 4
  38typedef long int ptrdiff_t;
  39# 211 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 3 4
  40typedef long unsigned int size_t;
  41# 323 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 3 4
  42typedef int wchar_t;
  43# 26 "/usr/include/malloc.h" 2 3 4
  44# 1 "/usr/include/stdio.h" 1 3 4
  45# 30 "/usr/include/stdio.h" 3 4
  46
  47
  48
  49
  50# 1 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 1 3 4
  51# 35 "/usr/include/stdio.h" 2 3 4
  52
  53# 1 "/usr/include/bits/types.h" 1 3 4
  54# 28 "/usr/include/bits/types.h" 3 4
  55# 1 "/usr/include/bits/wordsize.h" 1 3 4
  56# 29 "/usr/include/bits/types.h" 2 3 4
  57
  58
  59typedef unsigned char __u_char;
  60typedef unsigned short int __u_short;
  61typedef unsigned int __u_int;
  62typedef unsigned long int __u_long;
  63
  64
  65typedef signed char __int8_t;
  66typedef unsigned char __uint8_t;
  67typedef signed short int __int16_t;
  68typedef unsigned short int __uint16_t;
  69typedef signed int __int32_t;
  70typedef unsigned int __uint32_t;
  71
  72typedef signed long int __int64_t;
  73typedef unsigned long int __uint64_t;
  74
  75
  76
  77
  78
  79
  80
  81typedef long int __quad_t;
  82typedef unsigned long int __u_quad_t;
  83# 131 "/usr/include/bits/types.h" 3 4
  84# 1 "/usr/include/bits/typesizes.h" 1 3 4
  85# 132 "/usr/include/bits/types.h" 2 3 4
  86
  87
  88typedef unsigned long int __dev_t;
  89typedef unsigned int __uid_t;
  90typedef unsigned int __gid_t;
  91typedef unsigned long int __ino_t;
  92typedef unsigned long int __ino64_t;
  93typedef unsigned int __mode_t;
  94typedef unsigned long int __nlink_t;
  95typedef long int __off_t;
  96typedef long int __off64_t;
  97typedef int __pid_t;
  98typedef struct { int __val[2]; } __fsid_t;
  99typedef long int __clock_t;
 100typedef unsigned long int __rlim_t;
 101typedef unsigned long int __rlim64_t;
 102typedef unsigned int __id_t;
 103typedef long int __time_t;
 104typedef unsigned int __useconds_t;
 105typedef long int __suseconds_t;
 106
 107typedef int __daddr_t;
 108typedef long int __swblk_t;
 109typedef int __key_t;
 110
 111
 112typedef int __clockid_t;
 113
 114
 115typedef void * __timer_t;
 116
 117
 118typedef long int __blksize_t;
 119
 120
 121
 122
 123typedef long int __blkcnt_t;
 124typedef long int __blkcnt64_t;
 125
 126
 127typedef unsigned long int __fsblkcnt_t;
 128typedef unsigned long int __fsblkcnt64_t;
 129
 130
 131typedef unsigned long int __fsfilcnt_t;
 132typedef unsigned long int __fsfilcnt64_t;
 133
 134typedef long int __ssize_t;
 135
 136
 137
 138typedef __off64_t __loff_t;
 139typedef __quad_t *__qaddr_t;
 140typedef char *__caddr_t;
 141
 142
 143typedef long int __intptr_t;
 144
 145
 146typedef unsigned int __socklen_t;
 147# 37 "/usr/include/stdio.h" 2 3 4
 148# 45 "/usr/include/stdio.h" 3 4
 149struct _IO_FILE;
 150
 151
 152
 153typedef struct _IO_FILE FILE;
 154
 155
 156
 157
 158
 159# 65 "/usr/include/stdio.h" 3 4
 160typedef struct _IO_FILE __FILE;
 161# 75 "/usr/include/stdio.h" 3 4
 162# 1 "/usr/include/libio.h" 1 3 4
 163# 32 "/usr/include/libio.h" 3 4
 164# 1 "/usr/include/_G_config.h" 1 3 4
 165# 15 "/usr/include/_G_config.h" 3 4
 166# 1 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stddef.h" 1 3 4
 167# 16 "/usr/include/_G_config.h" 2 3 4
 168
 169
 170
 171
 172# 1 "/usr/include/wchar.h" 1 3 4
 173# 83 "/usr/include/wchar.h" 3 4
 174typedef struct
 175{
 176  int __count;
 177  union
 178  {
 179
 180    unsigned int __wch;
 181
 182
 183
 184    char __wchb[4];
 185  } __value;
 186} __mbstate_t;
 187# 21 "/usr/include/_G_config.h" 2 3 4
 188
 189typedef struct
 190{
 191  __off_t __pos;
 192  __mbstate_t __state;
 193} _G_fpos_t;
 194typedef struct
 195{
 196  __off64_t __pos;
 197  __mbstate_t __state;
 198} _G_fpos64_t;
 199# 53 "/usr/include/_G_config.h" 3 4
 200typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
 201typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
 202typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
 203typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
 204# 33 "/usr/include/libio.h" 2 3 4
 205# 53 "/usr/include/libio.h" 3 4
 206# 1 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stdarg.h" 1 3 4
 207# 40 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stdarg.h" 3 4
 208typedef __builtin_va_list __gnuc_va_list;
 209# 54 "/usr/include/libio.h" 2 3 4
 210# 170 "/usr/include/libio.h" 3 4
 211struct _IO_jump_t; struct _IO_FILE;
 212# 180 "/usr/include/libio.h" 3 4
 213typedef void _IO_lock_t;
 214
 215
 216
 217
 218
 219struct _IO_marker {
 220  struct _IO_marker *_next;
 221  struct _IO_FILE *_sbuf;
 222
 223
 224
 225  int _pos;
 226# 203 "/usr/include/libio.h" 3 4
 227};
 228
 229
 230enum __codecvt_result
 231{
 232  __codecvt_ok,
 233  __codecvt_partial,
 234  __codecvt_error,
 235  __codecvt_noconv
 236};
 237# 271 "/usr/include/libio.h" 3 4
 238struct _IO_FILE {
 239  int _flags;
 240
 241
 242
 243
 244  char* _IO_read_ptr;
 245  char* _IO_read_end;
 246  char* _IO_read_base;
 247  char* _IO_write_base;
 248  char* _IO_write_ptr;
 249  char* _IO_write_end;
 250  char* _IO_buf_base;
 251  char* _IO_buf_end;
 252
 253  char *_IO_save_base;
 254  char *_IO_backup_base;
 255  char *_IO_save_end;
 256
 257  struct _IO_marker *_markers;
 258
 259  struct _IO_FILE *_chain;
 260
 261  int _fileno;
 262
 263
 264
 265  int _flags2;
 266
 267  __off_t _old_offset;
 268
 269
 270
 271  unsigned short _cur_column;
 272  signed char _vtable_offset;
 273  char _shortbuf[1];
 274
 275
 276
 277  _IO_lock_t *_lock;
 278# 319 "/usr/include/libio.h" 3 4
 279  __off64_t _offset;
 280# 328 "/usr/include/libio.h" 3 4
 281  void *__pad1;
 282  void *__pad2;
 283  void *__pad3;
 284  void *__pad4;
 285  size_t __pad5;
 286
 287  int _mode;
 288
 289  char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
 290
 291};
 292
 293
 294typedef struct _IO_FILE _IO_FILE;
 295
 296
 297struct _IO_FILE_plus;
 298
 299extern struct _IO_FILE_plus _IO_2_1_stdin_;
 300extern struct _IO_FILE_plus _IO_2_1_stdout_;
 301extern struct _IO_FILE_plus _IO_2_1_stderr_;
 302# 364 "/usr/include/libio.h" 3 4
 303typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
 304
 305
 306
 307
 308
 309
 310
 311typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
 312     size_t __n);
 313
 314
 315
 316
 317
 318
 319
 320typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
 321
 322
 323typedef int __io_close_fn (void *__cookie);
 324# 416 "/usr/include/libio.h" 3 4
 325extern int __underflow (_IO_FILE *);
 326extern int __uflow (_IO_FILE *);
 327extern int __overflow (_IO_FILE *, int);
 328# 460 "/usr/include/libio.h" 3 4
 329extern int _IO_getc (_IO_FILE *__fp);
 330extern int _IO_putc (int __c, _IO_FILE *__fp);
 331extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
 332extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
 333
 334extern int _IO_peekc_locked (_IO_FILE *__fp);
 335
 336
 337
 338
 339
 340extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
 341extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
 342extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
 343# 490 "/usr/include/libio.h" 3 4
 344extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
 345   __gnuc_va_list, int *__restrict);
 346extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
 347    __gnuc_va_list);
 348extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
 349extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
 350
 351extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
 352extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
 353
 354extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
 355# 76 "/usr/include/stdio.h" 2 3 4
 356# 89 "/usr/include/stdio.h" 3 4
 357
 358
 359typedef _G_fpos_t fpos_t;
 360
 361
 362
 363
 364# 141 "/usr/include/stdio.h" 3 4
 365# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
 366# 142 "/usr/include/stdio.h" 2 3 4
 367
 368
 369
 370extern struct _IO_FILE *stdin;
 371extern struct _IO_FILE *stdout;
 372extern struct _IO_FILE *stderr;
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
 383
 384extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
 385
 386
 387
 388
 389extern int renameat (int __oldfd, __const char *__old, int __newfd,
 390       __const char *__new) __attribute__ ((__nothrow__));
 391
 392
 393
 394
 395
 396
 397
 398
 399extern FILE *tmpfile (void) ;
 400# 188 "/usr/include/stdio.h" 3 4
 401extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;
 402
 403
 404
 405
 406
 407extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
 408# 206 "/usr/include/stdio.h" 3 4
 409extern char *tempnam (__const char *__dir, __const char *__pfx)
 410     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
 411
 412
 413
 414
 415
 416
 417
 418
 419extern int fclose (FILE *__stream);
 420
 421
 422
 423
 424extern int fflush (FILE *__stream);
 425
 426# 231 "/usr/include/stdio.h" 3 4
 427extern int fflush_unlocked (FILE *__stream);
 428# 245 "/usr/include/stdio.h" 3 4
 429
 430
 431
 432
 433
 434
 435extern FILE *fopen (__const char *__restrict __filename,
 436      __const char *__restrict __modes) ;
 437
 438
 439
 440
 441extern FILE *freopen (__const char *__restrict __filename,
 442        __const char *__restrict __modes,
 443        FILE *__restrict __stream) ;
 444# 274 "/usr/include/stdio.h" 3 4
 445
 446# 285 "/usr/include/stdio.h" 3 4
 447extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;
 448# 298 "/usr/include/stdio.h" 3 4
 449extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
 450  __attribute__ ((__nothrow__)) ;
 451
 452
 453
 454
 455extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ;
 456
 457
 458
 459
 460
 461
 462extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
 463
 464
 465
 466extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
 467      int __modes, size_t __n) __attribute__ ((__nothrow__));
 468
 469
 470
 471
 472
 473extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
 474         size_t __size) __attribute__ ((__nothrow__));
 475
 476
 477extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
 478
 479
 480
 481
 482
 483
 484
 485
 486extern int fprintf (FILE *__restrict __stream,
 487      __const char *__restrict __format, ...);
 488
 489
 490
 491
 492extern int printf (__const char *__restrict __format, ...);
 493
 494extern int sprintf (char *__restrict __s,
 495      __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
 496
 497
 498
 499
 500
 501extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
 502       __gnuc_va_list __arg);
 503
 504
 505
 506
 507extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
 508
 509extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
 510       __gnuc_va_list __arg) __attribute__ ((__nothrow__));
 511
 512
 513
 514
 515
 516extern int snprintf (char *__restrict __s, size_t __maxlen,
 517       __const char *__restrict __format, ...)
 518     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
 519
 520extern int vsnprintf (char *__restrict __s, size_t __maxlen,
 521        __const char *__restrict __format, __gnuc_va_list __arg)
 522     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
 523
 524# 396 "/usr/include/stdio.h" 3 4
 525extern int vdprintf (int __fd, __const char *__restrict __fmt,
 526       __gnuc_va_list __arg)
 527     __attribute__ ((__format__ (__printf__, 2, 0)));
 528extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
 529     __attribute__ ((__format__ (__printf__, 2, 3)));
 530
 531
 532
 533
 534
 535
 536
 537
 538extern int fscanf (FILE *__restrict __stream,
 539     __const char *__restrict __format, ...) ;
 540
 541
 542
 543
 544extern int scanf (__const char *__restrict __format, ...) ;
 545
 546extern int sscanf (__const char *__restrict __s,
 547     __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
 548# 427 "/usr/include/stdio.h" 3 4
 549extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
 550
 551                               ;
 552extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
 553                              ;
 554extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__))
 555
 556                      ;
 557# 447 "/usr/include/stdio.h" 3 4
 558
 559
 560
 561
 562
 563
 564
 565
 566extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
 567      __gnuc_va_list __arg)
 568     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
 569
 570
 571
 572
 573
 574extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
 575     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
 576
 577
 578extern int vsscanf (__const char *__restrict __s,
 579      __const char *__restrict __format, __gnuc_va_list __arg)
 580     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
 581# 478 "/usr/include/stdio.h" 3 4
 582extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
 583
 584
 585
 586     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
 587extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
 588
 589     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
 590extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__))
 591
 592
 593
 594     __attribute__ ((__format__ (__scanf__, 2, 0)));
 595# 506 "/usr/include/stdio.h" 3 4
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605extern int fgetc (FILE *__stream);
 606extern int getc (FILE *__stream);
 607
 608
 609
 610
 611
 612extern int getchar (void);
 613
 614# 534 "/usr/include/stdio.h" 3 4
 615extern int getc_unlocked (FILE *__stream);
 616extern int getchar_unlocked (void);
 617# 545 "/usr/include/stdio.h" 3 4
 618extern int fgetc_unlocked (FILE *__stream);
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630extern int fputc (int __c, FILE *__stream);
 631extern int putc (int __c, FILE *__stream);
 632
 633
 634
 635
 636
 637extern int putchar (int __c);
 638
 639# 578 "/usr/include/stdio.h" 3 4
 640extern int fputc_unlocked (int __c, FILE *__stream);
 641
 642
 643
 644
 645
 646
 647
 648extern int putc_unlocked (int __c, FILE *__stream);
 649extern int putchar_unlocked (int __c);
 650
 651
 652
 653
 654
 655
 656extern int getw (FILE *__stream);
 657
 658
 659extern int putw (int __w, FILE *__stream);
 660
 661
 662
 663
 664
 665
 666
 667
 668extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
 669     ;
 670
 671
 672
 673
 674
 675
 676extern char *gets (char *__s) ;
 677
 678# 640 "/usr/include/stdio.h" 3 4
 679extern __ssize_t __getdelim (char **__restrict __lineptr,
 680          size_t *__restrict __n, int __delimiter,
 681          FILE *__restrict __stream) ;
 682extern __ssize_t getdelim (char **__restrict __lineptr,
 683        size_t *__restrict __n, int __delimiter,
 684        FILE *__restrict __stream) ;
 685
 686
 687
 688
 689
 690
 691
 692extern __ssize_t getline (char **__restrict __lineptr,
 693       size_t *__restrict __n,
 694       FILE *__restrict __stream) ;
 695
 696
 697
 698
 699
 700
 701
 702
 703extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
 704
 705
 706
 707
 708
 709extern int puts (__const char *__s);
 710
 711
 712
 713
 714
 715
 716extern int ungetc (int __c, FILE *__stream);
 717
 718
 719
 720
 721
 722
 723extern size_t fread (void *__restrict __ptr, size_t __size,
 724       size_t __n, FILE *__restrict __stream) ;
 725
 726
 727
 728
 729extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
 730        size_t __n, FILE *__restrict __s) ;
 731
 732# 712 "/usr/include/stdio.h" 3 4
 733extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
 734         size_t __n, FILE *__restrict __stream) ;
 735extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
 736          size_t __n, FILE *__restrict __stream) ;
 737
 738
 739
 740
 741
 742
 743
 744
 745extern int fseek (FILE *__stream, long int __off, int __whence);
 746
 747
 748
 749
 750extern long int ftell (FILE *__stream) ;
 751
 752
 753
 754
 755extern void rewind (FILE *__stream);
 756
 757# 748 "/usr/include/stdio.h" 3 4
 758extern int fseeko (FILE *__stream, __off_t __off, int __whence);
 759
 760
 761
 762
 763extern __off_t ftello (FILE *__stream) ;
 764# 767 "/usr/include/stdio.h" 3 4
 765
 766
 767
 768
 769
 770
 771extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
 772
 773
 774
 775
 776extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
 777# 790 "/usr/include/stdio.h" 3 4
 778
 779# 799 "/usr/include/stdio.h" 3 4
 780
 781
 782extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
 783
 784extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
 785
 786extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
 787
 788
 789
 790
 791extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
 792extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
 793extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
 794
 795
 796
 797
 798
 799
 800
 801
 802extern void perror (__const char *__s);
 803
 804
 805
 806
 807
 808
 809# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
 810# 27 "/usr/include/bits/sys_errlist.h" 3 4
 811extern int sys_nerr;
 812extern __const char *__const sys_errlist[];
 813# 829 "/usr/include/stdio.h" 2 3 4
 814
 815
 816
 817
 818extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
 819
 820
 821
 822
 823extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
 824# 848 "/usr/include/stdio.h" 3 4
 825extern FILE *popen (__const char *__command, __const char *__modes) ;
 826
 827
 828
 829
 830
 831extern int pclose (FILE *__stream);
 832
 833
 834
 835
 836
 837extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
 838# 888 "/usr/include/stdio.h" 3 4
 839extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
 840
 841
 842
 843extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
 844
 845
 846extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
 847# 918 "/usr/include/stdio.h" 3 4
 848
 849# 27 "/usr/include/malloc.h" 2 3 4
 850# 48 "/usr/include/malloc.h" 3 4
 851
 852
 853
 854extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
 855
 856
 857extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__))
 858       __attribute__ ((__malloc__)) ;
 859
 860
 861
 862
 863
 864
 865extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__))
 866       __attribute__ ((__warn_unused_result__));
 867
 868
 869extern void free (void *__ptr) __attribute__ ((__nothrow__));
 870
 871
 872extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
 873
 874
 875extern void *memalign (size_t __alignment, size_t __size) __attribute__ ((__nothrow__))
 876       __attribute__ ((__malloc__)) ;
 877
 878
 879extern void *valloc (size_t __size) __attribute__ ((__nothrow__))
 880       __attribute__ ((__malloc__)) ;
 881
 882
 883
 884extern void * pvalloc (size_t __size) __attribute__ ((__nothrow__))
 885       __attribute__ ((__malloc__)) ;
 886
 887
 888
 889extern void *(*__morecore) (ptrdiff_t __size);
 890
 891
 892extern void *__default_morecore (ptrdiff_t __size) __attribute__ ((__nothrow__))
 893       __attribute__ ((__malloc__));
 894
 895
 896
 897struct mallinfo {
 898  int arena;
 899  int ordblks;
 900  int smblks;
 901  int hblks;
 902  int hblkhd;
 903  int usmblks;
 904  int fsmblks;
 905  int uordblks;
 906  int fordblks;
 907  int keepcost;
 908};
 909
 910
 911extern struct mallinfo mallinfo (void) __attribute__ ((__nothrow__));
 912# 135 "/usr/include/malloc.h" 3 4
 913extern int mallopt (int __param, int __val) __attribute__ ((__nothrow__));
 914
 915
 916
 917extern int malloc_trim (size_t __pad) __attribute__ ((__nothrow__));
 918
 919
 920
 921extern size_t malloc_usable_size (void *__ptr) __attribute__ ((__nothrow__));
 922
 923
 924extern void malloc_stats (void) __attribute__ ((__nothrow__));
 925
 926
 927extern int malloc_info (int __options, FILE *__fp);
 928
 929
 930extern void *malloc_get_state (void) __attribute__ ((__nothrow__));
 931
 932
 933
 934extern int malloc_set_state (void *__ptr) __attribute__ ((__nothrow__));
 935
 936
 937
 938
 939extern void (*__malloc_initialize_hook) (void);
 940
 941extern void (*__free_hook) (void *__ptr, __const void *)
 942                             ;
 943extern void *(*__malloc_hook) (size_t __size, __const void *)
 944                                  ;
 945extern void *(*__realloc_hook) (void *__ptr, size_t __size, __const void *)
 946                                   ;
 947extern void *(*__memalign_hook) (size_t __alignment, size_t __size, __const void *)
 948
 949                                    ;
 950extern void (*__after_morecore_hook) (void);
 951
 952
 953extern void __malloc_check_init (void) __attribute__ ((__nothrow__));
 954
 955
 956
 957# 3 "files/rule60_list2.c" 2
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967int __VERIFIER_nondet_int(void);
 968
 969void * guard_malloc_counter = 0;
 970
 971void * __getMemory(int size)
 972{
 973  ((size > 0) ? (0) : __blast_assert ());
 974  guard_malloc_counter++;
 975  if (!__VERIFIER_nondet_int())
 976 return 0;
 977  return (void *) guard_malloc_counter;
 978}
 979
 980void *my_malloc(int size) {
 981  return __getMemory(size);
 982}
 983
 984
 985struct list_head {
 986 struct list_head *prev, *next;
 987};
 988
 989struct list_head *elem = ((void *)0);
 990
 991static void list_add(struct list_head *new, struct list_head *head) {
 992  ((new!=elem) ? (0) : __blast_assert ());
 993  if(__VERIFIER_nondet_int())
 994 elem = new;
 995}
 996
 997static void list_del(struct list_head *entry) {
 998  if(entry==elem)
 999 elem=((void *)0);
1000}
1001
1002static struct list_head head;
1003
1004int main() {
1005  struct list_head *dev1, *dev2;
1006  dev1 = my_malloc(sizeof(*dev1));
1007  dev2 = my_malloc(sizeof(*dev2));
1008  if(dev1!=((void *)0) && dev2!=((void *)0)) {
1009    list_add(dev2, &head);
1010    list_add(dev1, &head);
1011    list_del(dev2);
1012    list_add(dev2, &head);
1013
1014
1015    list_add(dev1, &head);
1016
1017  }
1018  return 0;
1019}