summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Trumtrar <s.trumtrar@pengutronix.de>2014-02-26 11:42:36 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-27 09:52:44 +0100
commit415e438072f9a03c58cb568c82a2ea2cba105bbb (patch)
tree72934381ffa27d8d9fd940f2c36f8f3ab8d5a6f2
parent41e87301c8aab66c7142866eabf76215b6139971 (diff)
downloaddt-utils-415e438072f9a03c58cb568c82a2ea2cba105bbb.tar.gz
dt-utils-415e438072f9a03c58cb568c82a2ea2cba105bbb.tar.xz
state: also test if S_ISBLK
st_size for mmcblkX devices is 0, the offset + size check will therefore fail. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--src/state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c
index 97c6b4a..c8fbc59 100644
--- a/src/state.c
+++ b/src/state.c
@@ -1039,7 +1039,7 @@ int state_backend_raw_file(struct state *state, const char *path, off_t offset,
return -EBUSY;
ret = stat(path, &s);
- if (!ret && !S_ISCHR(s.st_mode)) {
+ if (!ret && !S_ISCHR(s.st_mode) && !S_ISBLK(s.st_mode)) {
if (size == 0)
size = s.st_size;
else if (offset + size > s.st_size)