fedora 25
obsolete weakness #279

1

Weakness Breakdown


Definition:

An obsolete weakness occurs when someone uses deprecated or obsolete functions when building a system. As a programming language evolves, some functions occasionally become obsolete.

Warning code(s):

This C routine is considered obsolete.

File Name:

avrdude-6.3/par.c

Context:

The highlighted line of code below is the trigger point of this particular Fedora 25 obsolete weakness.

 static void par_powerdown(PROGRAMMER * pgm)
{
  par_setmany(pgm, PPI_AVR_VCC, 0);	/* power down */
}

static void par_disable(PROGRAMMER * pgm)
{
  par_setmany(pgm, PPI_AVR_BUFF, 1); /* turn off */
}

static void par_enable(PROGRAMMER * pgm)
{
  /*
   * Prepare to start talking to the connected device - pull reset low
   * first, delay a few milliseconds, then enable the buffer.  This
   * sequence allows the AVR to be reset before the buffer is enabled
   * to avoid a short period of time where the AVR may be driving the
   * programming lines at the same time the programmer tries to.  Of
   * course, if a buffer is being used, then the /RESET line from the
   * programmer needs to be directly connected to the AVR /RESET line
   * and not via the buffer chip.
   */

  par_setpin(pgm, PIN_AVR_RESET, 0);
  usleep(1);

  /*
   * enable the 74367 buffer, if connected; this signal is active low
   */
  par_setmany(pgm, PPI_AVR_BUFF, 0);
}

static int par_open(PROGRAMMER * pgm, char * port)
{
  int rc;

  if (bitbang_check_prerequisites(pgm) < 0)
    return -1;

  ppi_open(port, &pgm->fd);
  if (pgm->fd.ifd < 0) {
    avrdude_message(MSG_INFO, "%s: failed to open parallel port \"%s\"\n\n",
            progname, port);
    return -1;
  }

  /*
   * save pin values, so they can be restored when device is closed
   */
  rc = ppi_getall(&pgm->fd, PPIDATA); 

The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a world­wide basis.