0

私はvalgrindを使用してプログラムをデバッグしてきました(プログラムは正常に機能し、完全に機能します)。修正に苦労していることを警告する無効なポインターが1つ返されました。そのため、誰かが私を正しい方向に向けることができるかどうか疑問に思っていました。 ?valgrindが私に与えたエラーと、valgrindが指している行(およびその前のいくつか)の両方を投稿します、ありがとう!

==9437== Invalid read of size 1
==9437==    at 0x4C25812: __GI_strlen (mc_replace_strmem.c:284)
==9437==    by 0x400F67: main (exec_deathinfo_c.c:95)
==9437==  Address 0x0 is not stack'd, malloc'd or (recently) free'd


char *name;
char *filename;
name = getenv("MCEXEC_PLAYERNAME");
filename = malloc(sizeof "/home/minecraft/freedonia/playerdata/deathlog-.txt" - 1 + strlen(name)  + 1);
4

1 に答える 1

4
==9437== Invalid read of size 1
==9437==    at 0x4C25812: __GI_strlen (mc_replace_strmem.c:284)
==9437==    by 0x400F67: main (exec_deathinfo_c.c:95)
Address 0x0 is not stack'd, malloc'd or (recently) free'd

ことを示唆している

name = getenv("MCEXEC_PLAYERNAME");

返されNULLました。

于 2012-05-20T02:10:34.160 に答える