https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71813

            Bug ID: 71813
           Summary: fprintf/printf function exception
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: szhebin at yahoo dot com
  Target Milestone: ---

I wrote a program:
#include <string.h>
#include <stdio.h>

char *test2()
{
        char testArray[2];
        char *testP;

        memcpy(testArray, "2", 2);

        testP = testArray;

        return testP;
}

char *test()
{
        return test2();
}

int main()
{
        char *ret;

        ret = test();

        fprintf(stdout, "%s\n", ret);

        return 0;
}

but, when I ran it, it output some things that people cannot understand.
such as:'�d/
when I changed fprintf to printf, it output NULL.
then, I use gdb-7.10.1 to check it, 
I could know:
before fprintf/printf, the value of ret is correct.
but after fprintf/printf, it went wrong.

Reply via email to