Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 7a6690d8 in mainline


Ignore:
Timestamp:
2011-12-11T11:46:14Z (10 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master
Children:
92d9406
Parents:
6722766
Message:

exfat: check the file name for invalid characters.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/exfat/exfat_dentry.c

    r6722766 r7a6690d8  
    101101bool exfat_valid_char(wchar_t ch)
    102102{
    103         /* TODO */
    104         return true;
     103        switch (ch) {
     104        case 0x01 ... 0x1F:
     105        case '/':
     106        case '\\':
     107        case '?':
     108        case '|':
     109        case '>':
     110        case '<':
     111        case '"':
     112        case '*':
     113        case ':':
     114                return false;
     115        default:
     116                return true;
     117        }
    105118}
    106119
    107120bool exfat_valid_name(const char *name)
    108121{
    109         /* TODO */
     122        size_t off = 0;
     123        wchar_t ch;
     124
     125        while ((ch = str_decode(name, &off, STR_NO_LIMIT)) != 0) {
     126                if (!exfat_valid_char(ch))
     127                        return false;
     128        }
    110129        return true;
    111130}
Note: See TracChangeset for help on using the changeset viewer.