fedora 25
obsolete weakness #279


Weakness Breakdown


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:



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);

   * 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.