projects
/
project
/
fstools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
properly handle return codes
[project/fstools.git]
/
libblkid-tiny
/
libblkid-tiny.c
diff --git
a/libblkid-tiny/libblkid-tiny.c
b/libblkid-tiny/libblkid-tiny.c
index
dc18aa7
..
f66f3a1
100644
(file)
--- a/
libblkid-tiny/libblkid-tiny.c
+++ b/
libblkid-tiny/libblkid-tiny.c
@@
-163,7
+163,11
@@
static const struct blkid_idinfo *idinfos[] =
&ext2_idinfo,
&jbd_idinfo,
&squashfs_idinfo,
&ext2_idinfo,
&jbd_idinfo,
&squashfs_idinfo,
+ &ubifs_idinfo,
&jffs2_idinfo,
&jffs2_idinfo,
+ &hfsplus_idinfo,
+ &hfs_idinfo,
+ &btrfs_idinfo,
};
int probe_block(char *block, struct blkid_struct_probe *pr)
};
int probe_block(char *block, struct blkid_struct_probe *pr)
@@
-171,7
+175,7
@@
int probe_block(char *block, struct blkid_struct_probe *pr)
struct stat s;
int i;
struct stat s;
int i;
- if (stat(block, &s) || (!S_ISBLK(s.st_mode) && !S_ISREG(s.st_mode)))
+ if (stat(block, &s) || (!S_ISBLK(s.st_mode) && !S_ISREG(s.st_mode)
&& !strncmp(block, "ubi", 3)
))
return -1;
pr->err = -1;
return -1;
pr->err = -1;
@@
-193,7
+197,8
@@
int probe_block(char *block, struct blkid_struct_probe *pr)
char magic[32] = { 0 };
lseek(pr->fd, off, SEEK_SET);
char magic[32] = { 0 };
lseek(pr->fd, off, SEEK_SET);
- read(pr->fd, magic, mag->len);
+ if (read(pr->fd, magic, mag->len) < 0)
+ return -1;
DEBUG("magic: %s %s %d\n", mag->magic, magic, mag->len);
if (!memcmp(mag->magic, magic, mag->len))
DEBUG("magic: %s %s %d\n", mag->magic, magic, mag->len);
if (!memcmp(mag->magic, magic, mag->len))