Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Compiler Warning (level 3) C4748
Collapse the table of content
Expand the table of content

Compiler Warning (level 3) C4748

Error Message

/GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function

/GS (Buffer Security Check), which is enabled by default, cannot protect parameters and local variables from local buffer overrun in a function unless the function has optimizations enabled.

The compiler will disable optimizations if a function has inline assembly code containing flow of control (jmp or jcc, for example) statements.

Enable optimizations to resolve this warning, and to allow /GS to protect parameters and local variables from local buffer overrun.

Example

The following sample generates C4748.

// C4748.cpp
// compile with: /O2 /W3
#include <string.h>
#include <stdlib.h>

#pragma optimize("", off)
void f(const char *str) {  // C4748 warning
   char buf[100];
   strcpy_s(buf, _countof(buf), str);
}
#pragma optimize("", on)

int main() {
   f("aa");
}

Community Additions

ADD
Show:
© 2015 Microsoft