Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
bgColor#FFCCCC
langcpp

enum {len = 12};
char id[len];  /* id will hold the ID, starting with 
                * the characters "ID" followed by a 
                * random integer */
int r;
int num;
/* ... */
r = rand();  /* generate a random integer */
num = snprintf(id, len, "ID%-d", r);  /* generate the ID */
/* ... */

...

Code Block
bgColor#ccccff
langcpp

enum {len = 12};
char id[len];  /* id will hold the ID, starting with 
                * the characters "ID" followed by a 
                * random integer */
int r;
int num;
/* ... */
time_t now = time(NULL);
if (now == (time_t) -1) {
  /* handle error */
}
srandom(now);  /* seed the PRNG with the current time */
/* ... */
r = random();  /* generate a random integer */
num = snprintf(id, len, "ID%-d", r);  /* generate the ID */
/* ... */

...

Code Block
bgColor#ccccff
langcpp

#include<Wincrypt.h>

HCRYPTPROV hCryptProv;
union {
    BYTE bs[sizeof(long int)];
    long int li;
} rand_buf;

if (!CryptGenRandom(hCryptProv, sizeof(rand_buf), &rand_buf) {
    /* Handle error */
} else {
    printf("Random number: %ld\n", rand_buf.li);
}

...

Fully Implemented

Tool

Version

Checker

Description

Section

LDRA tool suite

7.6.0

 

 

Section

Fortify SCA

Section

V. 5.0

 

Section

Can detect violations of this rule with CERT C Rule Pack.

Section

Compass/ROSE

 

 

 

section

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V
Section

stlibuse

CP1.MSC30

Fully implemented

Section

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

...