[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] keyboard: fix qemu load empty keymap
From: |
Wang Xin |
Subject: |
[Qemu-devel] [PATCH] keyboard: fix qemu load empty keymap |
Date: |
Thu, 3 Nov 2016 13:56:00 +0800 |
qemu_find_file do not check file is a directory or just a file.
If qemu start with "-k ''", qemu_find_file get a empty string
as keymap file name, then, qemu treat the keymap path as keymap
file, it makes vnc keyboard input unusable.
Signed-off-by: Wang Xin <address@hidden>
diff --git a/vl.c b/vl.c
index ebd47af..2ec3832 100644
--- a/vl.c
+++ b/vl.c
@@ -2264,6 +2264,7 @@ char *qemu_find_file(int type, const char *name)
int i;
const char *subdir;
char *buf;
+ struct stat file_stat;
/* Try the name as a straight path first */
if (access(name, R_OK) == 0) {
@@ -2284,7 +2285,13 @@ char *qemu_find_file(int type, const char *name)
for (i = 0; i < data_dir_idx; i++) {
buf = g_strdup_printf("%s/%s%s", data_dir[i], subdir, name);
- if (access(buf, R_OK) == 0) {
+ if (stat(buf, &file_stat) < 0) {
+ error_report("can not get file '%s' stat: %s\n", buf,
+ strerror(errno));
+ g_free(buf);
+ return NULL;
+ }
+ if (!S_ISDIR(file_stat.st_mode) && access(buf, R_OK) == 0) {
trace_load_file(name, buf);
return buf;
}
--
2.8.1.windows.1
- [Qemu-devel] [PATCH] keyboard: fix qemu load empty keymap,
Wang Xin <=