Context Navigation



Ignore:
Timestamp:
Aug 17, 2016, 9:31:36 AM (9 years ago)
Author:
Alex Taylor
Message:

Add sanity checks to prevent some exception conditions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/util/prntobj/prntobj.c

    r29 r52
    1010#define INCL_SPLDOSPRINT
    1111#define INCL_SPLERRORS
    12(追記) #define INCL_WINSHELLDATA (追記ここまで)
    1213#include <os2.h>
    1314#include <stdio.h>
    1718
    1819#define MAX_DEVICE_NAME 9
    20(追記) (追記ここまで)
    21(追記) /* Various defines copied from CUPS.PDR... (追記ここまで)
    22(追記) */ (追記ここまで)
    23(追記) #define STR_LEN_PORTNAME 12 (追記ここまで)
    24(追記) #define STR_LEN_INIVAL 256 (追記ここまで)
    25(追記) #define STR_LEN_HOSTNAME 64 (追記ここまで)
    26(追記) #define STR_LEN_QUEUENAME 64 (追記ここまで)
    27(追記) (追記ここまで)
    28(追記) #define APPNAME_LEAD_STR "PM_" (追記ここまで)
    29(追記) #define APPNAME_PM_PORT_DRIVER "PM_PORT_DRIVER" (追記ここまで)
    30(追記) #define APPNAME_PM_SPOOLER_PORT "PM_SPOOLER_PORT" (追記ここまで)
    31(追記) (追記ここまで)
    32(追記) #define KEY_DESCRIPTION "DESCRIPTION" (追記ここまで)
    33(追記) #define KEY_INITIALIZATION "INITIALIZATION" (追記ここまで)
    34(追記) #define KEY_TERMINATION "TERMINATION" (追記ここまで)
    35(追記) #define KEY_PORTDRIVER "PORTDRIVER" (追記ここまで)
    36(追記) #define KEY_TIMEOUT "TIMEOUT" (追記ここまで)
    1937
    2038
    87105 pszTitle = NULL;
    88106 CHAR szDeviceName[ 9 ] = {0};
    89 USHORT i, len;
    107 CHAR szIniApp[ STR_LEN_PORTNAME ] = {0};
    108 CHAR szIniVal[ STR_LEN_INIVAL ] = {0};
    109 USHORT i;
    90110 SPLERR rc;
    91111
    104124 pszModel = argv[ 3 ];
    105125 pszTitle = argv[ 4 ];
    126(追記) if ( strlen( pszTitle ) > 47 ) (追記ここまで)
    127(追記) pszTitle[ 47 ] = '0円'; (追記ここまで)
    128(追記) (追記ここまで)
    129(追記) // Make sure the specified port exists and has valid settings. (追記ここまで)
    130(追記) strcpy( szIniApp, APPNAME_LEAD_STR ); (追記ここまで)
    131(追記) strncat( szIniApp, pszPortName, STR_LEN_PORTNAME-1 ); (追記ここまで)
    132(追記) rc = PrfQueryProfileString( HINI_SYSTEMPROFILE, szIniApp, (追記ここまで)
    133(追記) KEY_PORTDRIVER, NULL, (追記ここまで)
    134(追記) (PVOID) szIniVal, STR_LEN_INIVAL ); (追記ここまで)
    135(追記) if ( rc < 2 ) { (追記ここまで)
    136(追記) printf("Error: %s does not appear to be a valid port.\n", pszPortName ); (追記ここまで)
    137(追記) return ( 1 ); (追記ここまで)
    138(追記) } (追記ここまで)
    106139
    107140 // Generate a suitable internal device name
Note: See TracChangeset for help on using the changeset viewer.

AltStyle によって変換されたページ (->オリジナル) /