mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
Don't use pointer to freed memory.
svn path=/trunk/; revision=14684
This commit is contained in:
parent
e2e4bed006
commit
08807e03af
4 changed files with 4281 additions and 3395 deletions
|
@ -1,5 +1,11 @@
|
||||||
ChangeLog
|
ChangeLog
|
||||||
|
|
||||||
|
2005-04-18 navaraf
|
||||||
|
|
||||||
|
tools/widl/parser.y
|
||||||
|
|
||||||
|
Don't use pointer to freed memory.
|
||||||
|
|
||||||
2005-04-17 ekohl
|
2005-04-17 ekohl
|
||||||
|
|
||||||
tools/widl/server.c
|
tools/widl/server.c
|
||||||
|
|
|
@ -726,7 +726,6 @@ pointer_type:
|
||||||
structdef: tSTRUCT t_ident '{' fields '}' { $$ = get_typev(RPC_FC_STRUCT, $2, tsSTRUCT);
|
structdef: tSTRUCT t_ident '{' fields '}' { $$ = get_typev(RPC_FC_STRUCT, $2, tsSTRUCT);
|
||||||
/* overwrite RPC_FC_STRUCT with a more exact type */
|
/* overwrite RPC_FC_STRUCT with a more exact type */
|
||||||
$$->type = get_struct_type( $4 );
|
$$->type = get_struct_type( $4 );
|
||||||
$$->name = $2->name;
|
|
||||||
$$->fields = $4;
|
$$->fields = $4;
|
||||||
$$->defined = TRUE;
|
$$->defined = TRUE;
|
||||||
if(in_typelib)
|
if(in_typelib)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,138 +1,307 @@
|
||||||
typedef union {
|
/* A Bison parser, made by GNU Bison 1.875. */
|
||||||
attr_t *attr;
|
|
||||||
expr_t *expr;
|
/* Skeleton parser for Yacc-like parsing with Bison,
|
||||||
type_t *type;
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||||
typeref_t *tref;
|
|
||||||
var_t *var;
|
This program is free software; you can redistribute it and/or modify
|
||||||
func_t *func;
|
it under the terms of the GNU General Public License as published by
|
||||||
ifref_t *ifref;
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
class_t *clas;
|
any later version.
|
||||||
char *str;
|
|
||||||
UUID *uuid;
|
This program is distributed in the hope that it will be useful,
|
||||||
unsigned int num;
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
} YYSTYPE;
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
#define aIDENTIFIER 257
|
GNU General Public License for more details.
|
||||||
#define aKNOWNTYPE 258
|
|
||||||
#define aNUM 259
|
You should have received a copy of the GNU General Public License
|
||||||
#define aHEXNUM 260
|
along with this program; if not, write to the Free Software
|
||||||
#define aSTRING 261
|
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
#define aUUID 262
|
Boston, MA 02111-1307, USA. */
|
||||||
#define aEOF 263
|
|
||||||
#define SHL 264
|
/* As a special exception, when this file is copied by Bison into a
|
||||||
#define SHR 265
|
Bison output file, you may use that output file without restriction.
|
||||||
#define tAGGREGATABLE 266
|
This special exception was added by the Free Software Foundation
|
||||||
#define tALLOCATE 267
|
in version 1.24 of Bison. */
|
||||||
#define tAPPOBJECT 268
|
|
||||||
#define tARRAYS 269
|
/* Tokens. */
|
||||||
#define tASYNC 270
|
#ifndef YYTOKENTYPE
|
||||||
#define tASYNCUUID 271
|
# define YYTOKENTYPE
|
||||||
#define tAUTOHANDLE 272
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||||
#define tBINDABLE 273
|
know about them. */
|
||||||
#define tBOOLEAN 274
|
enum yytokentype {
|
||||||
#define tBROADCAST 275
|
aIDENTIFIER = 258,
|
||||||
#define tBYTE 276
|
aKNOWNTYPE = 259,
|
||||||
#define tBYTECOUNT 277
|
aNUM = 260,
|
||||||
#define tCALLAS 278
|
aHEXNUM = 261,
|
||||||
#define tCALLBACK 279
|
aSTRING = 262,
|
||||||
#define tCASE 280
|
aUUID = 263,
|
||||||
#define tCDECL 281
|
aEOF = 264,
|
||||||
#define tCHAR 282
|
SHL = 265,
|
||||||
#define tCOCLASS 283
|
SHR = 266,
|
||||||
#define tCODE 284
|
tAGGREGATABLE = 267,
|
||||||
#define tCOMMSTATUS 285
|
tALLOCATE = 268,
|
||||||
#define tCONST 286
|
tAPPOBJECT = 269,
|
||||||
#define tCONTEXTHANDLE 287
|
tARRAYS = 270,
|
||||||
#define tCONTEXTHANDLENOSERIALIZE 288
|
tASYNC = 271,
|
||||||
#define tCONTEXTHANDLESERIALIZE 289
|
tASYNCUUID = 272,
|
||||||
#define tCONTROL 290
|
tAUTOHANDLE = 273,
|
||||||
#define tCPPQUOTE 291
|
tBINDABLE = 274,
|
||||||
#define tDEFAULT 292
|
tBOOLEAN = 275,
|
||||||
#define tDEFAULTVALUE 293
|
tBROADCAST = 276,
|
||||||
#define tDISPINTERFACE 294
|
tBYTE = 277,
|
||||||
#define tDLLNAME 295
|
tBYTECOUNT = 278,
|
||||||
#define tDOUBLE 296
|
tCALLAS = 279,
|
||||||
#define tDUAL 297
|
tCALLBACK = 280,
|
||||||
#define tENDPOINT 298
|
tCASE = 281,
|
||||||
#define tENTRY 299
|
tCDECL = 282,
|
||||||
#define tENUM 300
|
tCHAR = 283,
|
||||||
#define tERRORSTATUST 301
|
tCOCLASS = 284,
|
||||||
#define tEXPLICITHANDLE 302
|
tCODE = 285,
|
||||||
#define tEXTERN 303
|
tCOMMSTATUS = 286,
|
||||||
#define tFLOAT 304
|
tCONST = 287,
|
||||||
#define tHANDLE 305
|
tCONTEXTHANDLE = 288,
|
||||||
#define tHANDLET 306
|
tCONTEXTHANDLENOSERIALIZE = 289,
|
||||||
#define tHELPCONTEXT 307
|
tCONTEXTHANDLESERIALIZE = 290,
|
||||||
#define tHELPFILE 308
|
tCONTROL = 291,
|
||||||
#define tHELPSTRING 309
|
tCPPQUOTE = 292,
|
||||||
#define tHELPSTRINGCONTEXT 310
|
tDEFAULT = 293,
|
||||||
#define tHELPSTRINGDLL 311
|
tDEFAULTVALUE = 294,
|
||||||
#define tHIDDEN 312
|
tDISPINTERFACE = 295,
|
||||||
#define tHYPER 313
|
tDLLNAME = 296,
|
||||||
#define tID 314
|
tDOUBLE = 297,
|
||||||
#define tIDEMPOTENT 315
|
tDUAL = 298,
|
||||||
#define tIIDIS 316
|
tENDPOINT = 299,
|
||||||
#define tIMPLICITHANDLE 317
|
tENTRY = 300,
|
||||||
#define tIMPORT 318
|
tENUM = 301,
|
||||||
#define tIMPORTLIB 319
|
tERRORSTATUST = 302,
|
||||||
#define tIN 320
|
tEXPLICITHANDLE = 303,
|
||||||
#define tINCLUDE 321
|
tEXTERN = 304,
|
||||||
#define tINLINE 322
|
tFLOAT = 305,
|
||||||
#define tINPUTSYNC 323
|
tHANDLE = 306,
|
||||||
#define tINT 324
|
tHANDLET = 307,
|
||||||
#define tINT64 325
|
tHELPCONTEXT = 308,
|
||||||
#define tINTERFACE 326
|
tHELPFILE = 309,
|
||||||
#define tLENGTHIS 327
|
tHELPSTRING = 310,
|
||||||
#define tLIBRARY 328
|
tHELPSTRINGCONTEXT = 311,
|
||||||
#define tLOCAL 329
|
tHELPSTRINGDLL = 312,
|
||||||
#define tLONG 330
|
tHIDDEN = 313,
|
||||||
#define tMETHODS 331
|
tHYPER = 314,
|
||||||
#define tMODULE 332
|
tID = 315,
|
||||||
#define tNONCREATABLE 333
|
tIDEMPOTENT = 316,
|
||||||
#define tOBJECT 334
|
tIIDIS = 317,
|
||||||
#define tODL 335
|
tIMPLICITHANDLE = 318,
|
||||||
#define tOLEAUTOMATION 336
|
tIMPORT = 319,
|
||||||
#define tOPTIONAL 337
|
tIMPORTLIB = 320,
|
||||||
#define tOUT 338
|
tIN = 321,
|
||||||
#define tPOINTERDEFAULT 339
|
tINCLUDE = 322,
|
||||||
#define tPROPERTIES 340
|
tINLINE = 323,
|
||||||
#define tPROPGET 341
|
tINPUTSYNC = 324,
|
||||||
#define tPROPPUT 342
|
tINT = 325,
|
||||||
#define tPROPPUTREF 343
|
tINT64 = 326,
|
||||||
#define tPTR 344
|
tINTERFACE = 327,
|
||||||
#define tPUBLIC 345
|
tLENGTHIS = 328,
|
||||||
#define tREADONLY 346
|
tLIBRARY = 329,
|
||||||
#define tREF 347
|
tLOCAL = 330,
|
||||||
#define tRESTRICTED 348
|
tLONG = 331,
|
||||||
#define tRETVAL 349
|
tMETHODS = 332,
|
||||||
#define tSHORT 350
|
tMODULE = 333,
|
||||||
#define tSIGNED 351
|
tNONCREATABLE = 334,
|
||||||
#define tSIZEIS 352
|
tOBJECT = 335,
|
||||||
#define tSIZEOF 353
|
tODL = 336,
|
||||||
#define tSMALL 354
|
tOLEAUTOMATION = 337,
|
||||||
#define tSOURCE 355
|
tOPTIONAL = 338,
|
||||||
#define tSTDCALL 356
|
tOUT = 339,
|
||||||
#define tSTRING 357
|
tPOINTERDEFAULT = 340,
|
||||||
#define tSTRUCT 358
|
tPROPERTIES = 341,
|
||||||
#define tSWITCH 359
|
tPROPGET = 342,
|
||||||
#define tSWITCHIS 360
|
tPROPPUT = 343,
|
||||||
#define tSWITCHTYPE 361
|
tPROPPUTREF = 344,
|
||||||
#define tTRANSMITAS 362
|
tPTR = 345,
|
||||||
#define tTYPEDEF 363
|
tPUBLIC = 346,
|
||||||
#define tUNION 364
|
tREADONLY = 347,
|
||||||
#define tUNIQUE 365
|
tREF = 348,
|
||||||
#define tUNSIGNED 366
|
tRESTRICTED = 349,
|
||||||
#define tUUID 367
|
tRETVAL = 350,
|
||||||
#define tV1ENUM 368
|
tSHORT = 351,
|
||||||
#define tVARARG 369
|
tSIGNED = 352,
|
||||||
#define tVERSION 370
|
tSIZEIS = 353,
|
||||||
#define tVOID 371
|
tSIZEOF = 354,
|
||||||
#define tWCHAR 372
|
tSMALL = 355,
|
||||||
#define tWIREMARSHAL 373
|
tSOURCE = 356,
|
||||||
#define tPOINTERTYPE 374
|
tSTDCALL = 357,
|
||||||
#define COND 375
|
tSTRING = 358,
|
||||||
#define CAST 376
|
tSTRUCT = 359,
|
||||||
#define PPTR 377
|
tSWITCH = 360,
|
||||||
#define NEG 378
|
tSWITCHIS = 361,
|
||||||
|
tSWITCHTYPE = 362,
|
||||||
|
tTRANSMITAS = 363,
|
||||||
extern YYSTYPE yylval;
|
tTYPEDEF = 364,
|
||||||
|
tUNION = 365,
|
||||||
|
tUNIQUE = 366,
|
||||||
|
tUNSIGNED = 367,
|
||||||
|
tUUID = 368,
|
||||||
|
tV1ENUM = 369,
|
||||||
|
tVARARG = 370,
|
||||||
|
tVERSION = 371,
|
||||||
|
tVOID = 372,
|
||||||
|
tWCHAR = 373,
|
||||||
|
tWIREMARSHAL = 374,
|
||||||
|
tPOINTERTYPE = 375,
|
||||||
|
COND = 376,
|
||||||
|
CAST = 377,
|
||||||
|
PPTR = 378,
|
||||||
|
NEG = 379
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
#define aIDENTIFIER 258
|
||||||
|
#define aKNOWNTYPE 259
|
||||||
|
#define aNUM 260
|
||||||
|
#define aHEXNUM 261
|
||||||
|
#define aSTRING 262
|
||||||
|
#define aUUID 263
|
||||||
|
#define aEOF 264
|
||||||
|
#define SHL 265
|
||||||
|
#define SHR 266
|
||||||
|
#define tAGGREGATABLE 267
|
||||||
|
#define tALLOCATE 268
|
||||||
|
#define tAPPOBJECT 269
|
||||||
|
#define tARRAYS 270
|
||||||
|
#define tASYNC 271
|
||||||
|
#define tASYNCUUID 272
|
||||||
|
#define tAUTOHANDLE 273
|
||||||
|
#define tBINDABLE 274
|
||||||
|
#define tBOOLEAN 275
|
||||||
|
#define tBROADCAST 276
|
||||||
|
#define tBYTE 277
|
||||||
|
#define tBYTECOUNT 278
|
||||||
|
#define tCALLAS 279
|
||||||
|
#define tCALLBACK 280
|
||||||
|
#define tCASE 281
|
||||||
|
#define tCDECL 282
|
||||||
|
#define tCHAR 283
|
||||||
|
#define tCOCLASS 284
|
||||||
|
#define tCODE 285
|
||||||
|
#define tCOMMSTATUS 286
|
||||||
|
#define tCONST 287
|
||||||
|
#define tCONTEXTHANDLE 288
|
||||||
|
#define tCONTEXTHANDLENOSERIALIZE 289
|
||||||
|
#define tCONTEXTHANDLESERIALIZE 290
|
||||||
|
#define tCONTROL 291
|
||||||
|
#define tCPPQUOTE 292
|
||||||
|
#define tDEFAULT 293
|
||||||
|
#define tDEFAULTVALUE 294
|
||||||
|
#define tDISPINTERFACE 295
|
||||||
|
#define tDLLNAME 296
|
||||||
|
#define tDOUBLE 297
|
||||||
|
#define tDUAL 298
|
||||||
|
#define tENDPOINT 299
|
||||||
|
#define tENTRY 300
|
||||||
|
#define tENUM 301
|
||||||
|
#define tERRORSTATUST 302
|
||||||
|
#define tEXPLICITHANDLE 303
|
||||||
|
#define tEXTERN 304
|
||||||
|
#define tFLOAT 305
|
||||||
|
#define tHANDLE 306
|
||||||
|
#define tHANDLET 307
|
||||||
|
#define tHELPCONTEXT 308
|
||||||
|
#define tHELPFILE 309
|
||||||
|
#define tHELPSTRING 310
|
||||||
|
#define tHELPSTRINGCONTEXT 311
|
||||||
|
#define tHELPSTRINGDLL 312
|
||||||
|
#define tHIDDEN 313
|
||||||
|
#define tHYPER 314
|
||||||
|
#define tID 315
|
||||||
|
#define tIDEMPOTENT 316
|
||||||
|
#define tIIDIS 317
|
||||||
|
#define tIMPLICITHANDLE 318
|
||||||
|
#define tIMPORT 319
|
||||||
|
#define tIMPORTLIB 320
|
||||||
|
#define tIN 321
|
||||||
|
#define tINCLUDE 322
|
||||||
|
#define tINLINE 323
|
||||||
|
#define tINPUTSYNC 324
|
||||||
|
#define tINT 325
|
||||||
|
#define tINT64 326
|
||||||
|
#define tINTERFACE 327
|
||||||
|
#define tLENGTHIS 328
|
||||||
|
#define tLIBRARY 329
|
||||||
|
#define tLOCAL 330
|
||||||
|
#define tLONG 331
|
||||||
|
#define tMETHODS 332
|
||||||
|
#define tMODULE 333
|
||||||
|
#define tNONCREATABLE 334
|
||||||
|
#define tOBJECT 335
|
||||||
|
#define tODL 336
|
||||||
|
#define tOLEAUTOMATION 337
|
||||||
|
#define tOPTIONAL 338
|
||||||
|
#define tOUT 339
|
||||||
|
#define tPOINTERDEFAULT 340
|
||||||
|
#define tPROPERTIES 341
|
||||||
|
#define tPROPGET 342
|
||||||
|
#define tPROPPUT 343
|
||||||
|
#define tPROPPUTREF 344
|
||||||
|
#define tPTR 345
|
||||||
|
#define tPUBLIC 346
|
||||||
|
#define tREADONLY 347
|
||||||
|
#define tREF 348
|
||||||
|
#define tRESTRICTED 349
|
||||||
|
#define tRETVAL 350
|
||||||
|
#define tSHORT 351
|
||||||
|
#define tSIGNED 352
|
||||||
|
#define tSIZEIS 353
|
||||||
|
#define tSIZEOF 354
|
||||||
|
#define tSMALL 355
|
||||||
|
#define tSOURCE 356
|
||||||
|
#define tSTDCALL 357
|
||||||
|
#define tSTRING 358
|
||||||
|
#define tSTRUCT 359
|
||||||
|
#define tSWITCH 360
|
||||||
|
#define tSWITCHIS 361
|
||||||
|
#define tSWITCHTYPE 362
|
||||||
|
#define tTRANSMITAS 363
|
||||||
|
#define tTYPEDEF 364
|
||||||
|
#define tUNION 365
|
||||||
|
#define tUNIQUE 366
|
||||||
|
#define tUNSIGNED 367
|
||||||
|
#define tUUID 368
|
||||||
|
#define tV1ENUM 369
|
||||||
|
#define tVARARG 370
|
||||||
|
#define tVERSION 371
|
||||||
|
#define tVOID 372
|
||||||
|
#define tWCHAR 373
|
||||||
|
#define tWIREMARSHAL 374
|
||||||
|
#define tPOINTERTYPE 375
|
||||||
|
#define COND 376
|
||||||
|
#define CAST 377
|
||||||
|
#define PPTR 378
|
||||||
|
#define NEG 379
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||||
|
#line 106 "parser.y"
|
||||||
|
typedef union YYSTYPE {
|
||||||
|
attr_t *attr;
|
||||||
|
expr_t *expr;
|
||||||
|
type_t *type;
|
||||||
|
typeref_t *tref;
|
||||||
|
var_t *var;
|
||||||
|
func_t *func;
|
||||||
|
ifref_t *ifref;
|
||||||
|
class_t *clas;
|
||||||
|
char *str;
|
||||||
|
UUID *uuid;
|
||||||
|
unsigned int num;
|
||||||
|
} YYSTYPE;
|
||||||
|
/* Line 1248 of yacc.c. */
|
||||||
|
#line 298 "y.tab.h"
|
||||||
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern YYSTYPE yylval;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue