ポインター型のサイズの倍数ではないサイズのストレージが割り当てられています。
典型的なストレージ割り当て操作では、一定量のストレージ要求に対して、ポインター型に結果アドレスが割り当てられます。ポイント先のサイズが割り当てサイズと同じ場合は、指定された型のオブジェクトが 1 つ割り当てられます。割り当てサイズが、ポイント先のサイズの倍数の場合は、指定された型のオブジェクトの配列が割り当てられます。その他は不正な形式であり、このエラーがレポートされます。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
割り当てサイト |
メモリーが割り当てられた場所 |
#include <stdlib.h> typedef struct { int f1; int f2; int f3; } s1; typedef struct { int f1; int f2; } s2; int main(int argc, char **argv) { s2 *p = (s2 *) malloc( sizeof(s1) ); // probably intended sizeof(s2) free(p); return 0; }
© 2010 Intel Corporation. 無断での引用、転載を禁じます。