diff options
Diffstat (limited to 'hcid/security.c')
-rw-r--r-- | hcid/security.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/hcid/security.c b/hcid/security.c index 718fff3d..fb4c813e 100644 --- a/hcid/security.c +++ b/hcid/security.c @@ -302,7 +302,7 @@ static void call_pin_helper(int dev, bdaddr_t *sba, struct hci_conn_info *ci) { pin_code_reply_cp pr; struct sigaction sa; - char addr[18], str[512], *pin, name[249], tmp[499], *ptr; + char addr[18], str[512], *pin, name[249], tmp[497], *ptr; FILE *pipe; int i, ret, len; @@ -332,8 +332,13 @@ static void call_pin_helper(int dev, bdaddr_t *sba, struct hci_conn_info *ci) for (i = 0; i < 248 && name[i]; i++) if (isprint(name[i])) { - if (name[i] == '"') + switch (name[i]) { + case '"': + case '`': + case '$': + case '\\': *ptr++ = '\\'; + } *ptr++ = name[i]; } else *ptr++ = '.'; |