Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset a60b2d7 in mainline


Ignore:
Timestamp:
2010-02-09T20:32:11Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
3149fc0, 5bda2f96
Parents:
eb73a50 (diff), fb150d78 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge: Harden file_bd again out-of-bounds access.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/file_bd/file_bd.c

    reb73a50 ra60b2d7  
    4848#include <devmap.h>
    4949#include <sys/types.h>
     50#include <sys/typefmt.h>
    5051#include <errno.h>
    5152#include <bool.h>
     
    207208        int rc;
    208209
     210        /* Check whether access is within device address bounds. */
     211        if (ba + cnt > num_blocks) {
     212                printf(NAME ": Accessed blocks %" PRIuBN "-%" PRIuBN ", while "
     213                    "max block number is %" PRIuBN ".\n", ba, ba + cnt - 1,
     214                    num_blocks - 1);
     215                return ELIMIT;
     216        }
     217
    209218        fibril_mutex_lock(&dev_lock);
    210219
     
    237246        int rc;
    238247
     248        /* Check whether access is within device address bounds. */
     249        if (ba + cnt > num_blocks) {
     250                printf(NAME ": Accessed blocks %" PRIuBN "-%" PRIuBN ", while "
     251                    "max block numeber is %" PRIuBN ".\n", ba, ba + cnt - 1,
     252                    num_blocks - 1);
     253                return ELIMIT;
     254        }
     255
    239256        fibril_mutex_lock(&dev_lock);
    240257
Note: See TracChangeset for help on using the changeset viewer.