The linter tells me you might want to focus here:
Code:
void genrand( int inx, int start, int num ) {
  int used[N];
  int i,j,t,o;

  i=inx;

  for (j=0;j<N;j++) {
    used[j]=0;
  }

  if (start != 0) {
    for (i=0;i<N;i++) {
      used[order[inx][i]]++;
    }
  }
  
  for (j=start;j<num;j++) {
    o=0; //funny looking line
    
    while (o==0) {
      t = rand() % N;
      if (used[t]==0) {
        used[t]++;
        o++;
        order[i][j]=t; // [Warning 661] Possible access of out-of-bounds pointer (1 beyond end of data) by operator '[' [Reference: file test.c: lines 28, 29, 42]
      }
    }
  }
}