mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
calibre-mount-helper: Refuse to mount non block devices
This commit is contained in:
parent
b581b47ff1
commit
c940cb2cb6
@ -236,8 +236,9 @@ int cleanup(const char *dev, const char *mp) {
|
||||
return cleanup_mount_point(mp);
|
||||
}
|
||||
|
||||
void check_dev(const char*dev) {
|
||||
void check_dev(const char *dev) {
|
||||
char buffer[PATH_MAX+1];
|
||||
struct stat file_info;
|
||||
|
||||
if (dev == NULL || strlen(dev) < strlen(DEV)) {
|
||||
fprintf(stderr, "Invalid arguments\n");
|
||||
@ -253,6 +254,16 @@ void check_dev(const char*dev) {
|
||||
fprintf(stderr, "Trying to operate on a dev node not under /dev\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (stat(dev, &file_info) != 0) {
|
||||
fprintf(stderr, "stat call on dev node failed\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (!S_ISBLK(file_info.st_mode)) {
|
||||
fprintf(stderr, "dev node is not a block device\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
|
Loading…
x
Reference in New Issue
Block a user