summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-10-30 09:05:32 +0000
committerNick Clifton <nickc@redhat.com>2008-10-30 09:05:32 +0000
commit9709229c8478c955e7293c4650af1a643b3d9b10 (patch)
tree6d21999cd4416169a4781c35cf5b331b5d2517a1
parent1886fe482231a21caed61779a36de553a729604d (diff)
downloadbinutils-redhat-9709229c8478c955e7293c4650af1a643b3d9b10.tar.gz
* cache.c (cache_bread): Cast void * pointer before performing
arithmetic on it.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/cache.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a9e59233ca..9a70d7dffc 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-30 Jay Krell <jay.krell@cornell.edu>
+
+ * cache.c (cache_bread): Cast void * pointer before performing
+ arithmetic on it.
+
2008-10-20 Alan Modra <amodra@bigpond.net.au>
* elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from
diff --git a/bfd/cache.c b/bfd/cache.c
index 3906335041..50674e88b0 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -317,7 +317,7 @@ cache_bread (struct bfd *abfd, void *buf, file_ptr nbytes)
if (chunk_size > max_chunk_size)
chunk_size = max_chunk_size;
- chunk_nread = cache_bread_1 (abfd, buf + nread, chunk_size);
+ chunk_nread = cache_bread_1 (abfd, (char *) buf + nread, chunk_size);
/* Update the nread count.
@@ -342,6 +342,7 @@ cache_bwrite (struct bfd *abfd, const void *where, file_ptr nbytes)
{
file_ptr nwrite;
FILE *f = bfd_cache_lookup (abfd, 0);
+
if (f == NULL)
return 0;
nwrite = fwrite (where, 1, nbytes, f);
@@ -364,6 +365,7 @@ cache_bflush (struct bfd *abfd)
{
int sts;
FILE *f = bfd_cache_lookup (abfd, CACHE_NO_OPEN);
+
if (f == NULL)
return 0;
sts = fflush (f);
@@ -377,6 +379,7 @@ cache_bstat (struct bfd *abfd, struct stat *sb)
{
int sts;
FILE *f = bfd_cache_lookup (abfd, CACHE_NO_SEEK_ERROR);
+
if (f == NULL)
return -1;
sts = fstat (fileno (f), sb);
@@ -385,7 +388,8 @@ cache_bstat (struct bfd *abfd, struct stat *sb)
return sts;
}
-static const struct bfd_iovec cache_iovec = {
+static const struct bfd_iovec cache_iovec =
+{
&cache_bread, &cache_bwrite, &cache_btell, &cache_bseek,
&cache_bclose, &cache_bflush, &cache_bstat
};