Informix Error -33208: Runtime error is possible because size of host-variable-name is unknown.
Cause and resolution
Runtime error is possible because size of host-variable-name is unknown.
This message is a warning only; compilation continues. ESQL/C does not know the size of the host character variable. If the variable is used in an INTO clause, memory might be overwritten. Specify the variable as a character array with a numeric size. The numeric size can be a literal value or an ESQL/C macro value.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-33208 is a preprocessor warning — per the official guidance, ESQL/C doesn't know the
size of the flagged host character variable; if it's used in an INTO clause, memory
could be overwritten.
- A host character variable whose size ESQL/C can't determine, per the official guidance — the direct, only cause.
Solutions / Resolution
- Specify the variable as a character array with a numeric size, per the official guidance — a literal or an ESQL/C macro value.
Examples
A host character variable of unknown size
EXEC SQL BEGIN DECLARE SECTION;
char *name;
-- -33208: size of name is unknown; risk of overwrite if used in INTO
EXEC SQL END DECLARE SECTION;
Corrected
EXEC SQL BEGIN DECLARE SECTION;
char name[64];
EXEC SQL END DECLARE SECTION;
Diagnostic Checks
- Check the flagged host character variable's declaration, and give it a fixed
array size if it's used in an
INTOclause.
Related Errors / Related Topics
- -33084 — "The lvarchar host variable('variable-name') should be an array or a
pointer." A related unknown-size warning, for
lvarcharvariables rather than plain character variables.
A host character variable's size was unknown, risking a memory overwrite in an INTO
clause — declare it as a sized character array.