Ignore:
Timestamp:
Oct 11, 2013, 4:07:22 AM (12 years ago)
Author:
bird
Message:

More mach-o debug info loading adjustments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kLdr/kLdrModMachO.c

    r55 r56  
    857857                        case S_SYMBOL_STUBS:
    858858                            if (   pSect->reserved1
    859                                 || pSect->reserved2 < 1  /* stub size.*/
    860                                 || pSect->reserved2 > 64 )
     859                                || pSect->reserved2 > 64 /* stub size. 0 has been seen (corecrypto.kext) */ )
    861860                                return KLDR_ERR_MACHO_BAD_SECTION;
    862861                            fFileBits = 1;
     
    10551054                break;
    10561055
     1056            case LC_SOURCE_VERSION:     /* Harmless. It just gives a clue regarding the source code revision/version. */
     1057            case LC_DATA_IN_CODE:       /* Ignore */
     1058            case LC_DYLIB_CODE_SIGN_DRS:/* Ignore */
     1059                /** @todo valid command size. */
     1060                break;
     1061
     1062            case LC_ID_DYLIB:           /** @todo dylib */
     1063            case LC_LOAD_DYLIB:         /** @todo dylib */
     1064            case LC_LOAD_DYLINKER:      /** @todo dylib */
     1065            case LC_TWOLEVEL_HINTS:     /** @todo dylib */
     1066            case LC_LOAD_WEAK_DYLIB:    /** @todo dylib */
     1067            case LC_ID_DYLINKER:        /** @todo dylib */
     1068            case LC_DYLD_ENVIRONMENT:   /** @todo dylib */
     1069            case LC_MAIN: /** @todo parse this and find and entry point or smth. */
     1070                /** @todo valid command size. */
     1071                if (!(fOpenFlags & KLDRMOD_OPEN_FLAGS_FOR_INFO))
     1072                    return KLDR_ERR_MACHO_UNSUPPORTED_LOAD_COMMAND;
     1073                break;
     1074
    10571075            case LC_LOADFVMLIB:
    10581076            case LC_IDFVMLIB:
     
    10601078            case LC_FVMFILE:
    10611079            case LC_PREPAGE:
    1062             case LC_LOAD_DYLIB:
    1063             case LC_ID_DYLIB:
    1064             case LC_LOAD_DYLINKER:
    1065             case LC_ID_DYLINKER:
    10661080            case LC_PREBOUND_DYLIB:
    10671081            case LC_ROUTINES:
     
    10711085            case LC_SUB_CLIENT:
    10721086            case LC_SUB_LIBRARY:
    1073             case LC_TWOLEVEL_HINTS:
    10741087            case LC_PREBIND_CKSUM:
    1075             case LC_LOAD_WEAK_DYLIB:
    10761088            case LC_SYMSEG:
    10771089                return KLDR_ERR_MACHO_UNSUPPORTED_LOAD_COMMAND;
Note: See TracChangeset for help on using the changeset viewer.