Changeset a4454620 in git


Ignore:
Timestamp:
15/01/14 00:17:26 (6 years ago)
Author:
Olly Betts <olly@…>
Branches:
line_contents, master, stereo, travis-osx
Children:
a8638a6
Parents:
2adff93
git-author:
Olly Betts <olly@…> (15/01/14 00:15:58)
git-committer:
Olly Betts <olly@…> (15/01/14 00:17:26)
Message:

src/img.c,src/useful.h: Fix some glibc fortify source warnings.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r2adff93 ra4454620  
     1Wed Jan 15 00:15:30 GMT 2014  Olly Betts <olly@survex.com>
     2
     3        * src/img.c,src/useful.h: Fix some glibc fortify source warnings.
     4
    15Wed Jan 15 00:13:27 GMT 2014  Olly Betts <olly@survex.com>
    26
  • src/img.c

    r2adff93 ra4454620  
    14601460                  pimg->H = get32(pimg->fh) / 100.0;
    14611461                  pimg->V = get32(pimg->fh) / 100.0;
     1462                  if (feof(pimg->fh)) {
     1463                      img_errno = IMG_BADFORMAT;
     1464                      return img_BAD;
     1465                  }
     1466                  if (ferror(pimg->fh)) {
     1467                      img_errno = IMG_READERROR;
     1468                      return img_BAD;
     1469                  }
    14621470                  return img_ERROR_INFO;
    14631471              case 0x23: { /* v7+: Date range (long) */
     
    14681476                  int days1 = (int)getu16(pimg->fh);
    14691477                  int days2 = (int)getu16(pimg->fh);
     1478                  if (feof(pimg->fh)) {
     1479                      img_errno = IMG_BADFORMAT;
     1480                      return img_BAD;
     1481                  }
     1482                  if (ferror(pimg->fh)) {
     1483                      img_errno = IMG_READERROR;
     1484                      return img_BAD;
     1485                  }
    14701486#if IMG_API_VERSION == 0
    14711487                  pimg->date1 = (days1 - 25567) * 86400;
     
    14991515                      pimg->u = get32(pimg->fh) / 100.0;
    15001516                      pimg->d = get32(pimg->fh) / 100.0;
     1517                  }
     1518                  if (feof(pimg->fh)) {
     1519                      img_errno = IMG_BADFORMAT;
     1520                      return img_BAD;
     1521                  }
     1522                  if (ferror(pimg->fh)) {
     1523                      img_errno = IMG_READERROR;
     1524                      return img_BAD;
    15011525                  }
    15021526                  if (pimg->survey_len) {
     
    15201544                  img_errno = IMG_BADFORMAT;
    15211545                  return img_BAD;
     1546          }
     1547          if (feof(pimg->fh)) {
     1548              img_errno = IMG_BADFORMAT;
     1549              return img_BAD;
     1550          }
     1551          if (ferror(pimg->fh)) {
     1552              img_errno = IMG_READERROR;
     1553              return img_BAD;
    15221554          }
    15231555          goto again3;
  • src/useful.h

    r2adff93 ra4454620  
    11/* useful.h
    22 * Lots of oddments that come in handy generally
    3  * Copyright (C) 1993-2003,2004,2010,2011 Olly Betts
     3 * Copyright (C) 1993-2003,2004,2010,2011,2014 Olly Betts
    44 *
    55 * This program is free software; you can redistribute it and/or modify
     
    123123static inline int16_t get16(FILE *fh) {
    124124    int16_t w;
    125     fread(&w, 2, 1, fh);
     125    if (fread(&w, 2, 1, fh) == 0) {
     126        /* We check feof() and ferror() afterwards, so checking the return
     127         * value achieves nothing, but we get a warning from glibc's
     128         * _FORTIFY_SOURCE if we don't pretend to. */
     129    }
    126130    return w;
    127131}
     
    129133static inline int32_t get32(FILE *fh) {
    130134    int32_t w;
    131     fread(&w, 4, 1, fh);
     135    if (fread(&w, 4, 1, fh) == 0) {
     136        /* We check feof() and ferror() afterwards, so checking the return
     137         * value achieves nothing, but we get a warning from glibc's
     138         * _FORTIFY_SOURCE if we don't pretend to. */
     139    }
    132140    return w;
    133141}
Note: See TracChangeset for help on using the changeset viewer.