Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:GA
mdadm.5365
0100-Don-t-ignore-return-value-from-read-and-wr...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0100-Don-t-ignore-return-value-from-read-and-write.patch of Package mdadm.5365
From 27aefbdb3d52b9a4f4299b931003e4a8760b5dc2 Mon Sep 17 00:00:00 2001 From: NeilBrown <neilb@suse.com> Date: Fri, 24 Jul 2015 16:11:23 +1000 Subject: [PATCH 146/359] Don't ignore return value from read and write References: bsc#1081910 New gcc sometimes complains about this. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Coly Li <colyli@suse.de> --- managemon.c | 4 +++- xmalloc.c | 24 ++++++++++++++++-------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/managemon.c b/managemon.c index ec4586b..6d1b3d8 100644 --- a/managemon.c +++ b/managemon.c @@ -410,7 +410,9 @@ static int sysfs_open2(char *devnum, char *name, char *attr) * never needs too. */ char buf[200]; - read(fd, buf, sizeof(buf)); + if (read(fd, buf, sizeof(buf)) < 0) + /* pretend not to ignore return value */ + return fd; } return fd; } diff --git a/xmalloc.c b/xmalloc.c index 75ae4e2..8b3f78a 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -35,42 +35,50 @@ void *xmalloc(size_t len) { void *rv = malloc(len); char *msg; + int n; if (rv) return rv; msg = ": memory allocation failure - aborting\n"; - write(2, Name, strlen(Name)); - exit(4+!!write(2, msg, strlen(msg))); + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } void *xrealloc(void *ptr, size_t len) { void *rv = realloc(ptr, len); char *msg; + int n; if (rv) return rv; msg = ": memory allocation failure - aborting\n"; - write(2, Name, strlen(Name)); - exit(4+!!write(2, msg, strlen(msg))); + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } void *xcalloc(size_t num, size_t size) { void *rv = calloc(num, size); char *msg; + int n; if (rv) return rv; msg = ": memory allocation failure - aborting\n"; - write(2, Name, strlen(Name)); - exit(4+!!write(2, msg, strlen(msg))); + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } char *xstrdup(const char *str) { char *rv = strdup(str); char *msg; + int n; if (rv) return rv; msg = ": memory allocation failure - aborting\n"; - write(2, Name, strlen(Name)); - exit(4+!!write(2, msg, strlen(msg))); + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } -- 2.16.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor