条件跳转或移动取决于未初始化的值 strcat
Conditional jump or move depends on uninitialised value(s) strcat
我知道发生这个 valgrind 错误是因为我试图使用未初始化的东西。
下面的代码是导致此错误的代码。它正在做的是尝试读取 Racket 代码并获取每个符号,例如 + 或 define。 (标记化)
我不希望您彻底理解代码,因为还有很多其他代码可以理解它在做什么。
但是,如果您能告诉我您对该行出现此错误的原因的看法,我将不胜感激,symbol = strcat(symbol, newsymbol);
char* newsymbol = talloc(sizeof(char)*2);
*newsymbol = charRead;
newsymbol[1] = '[=10=]';
symbol = strcat(symbol, newsymbol);
因为 symbol
没有 nul
终止你需要 nul
终止它然后再传递给 strcat()
.
我知道发生这个 valgrind 错误是因为我试图使用未初始化的东西。
下面的代码是导致此错误的代码。它正在做的是尝试读取 Racket 代码并获取每个符号,例如 + 或 define。 (标记化)
我不希望您彻底理解代码,因为还有很多其他代码可以理解它在做什么。
但是,如果您能告诉我您对该行出现此错误的原因的看法,我将不胜感激,symbol = strcat(symbol, newsymbol);
char* newsymbol = talloc(sizeof(char)*2);
*newsymbol = charRead;
newsymbol[1] = '[=10=]';
symbol = strcat(symbol, newsymbol);
因为 symbol
没有 nul
终止你需要 nul
终止它然后再传递给 strcat()
.