誤った割り当てサイズ

ポインター型のサイズの倍数ではないサイズのストレージが割り当てられています。

典型的なストレージ割り当て操作では、一定量のストレージ要求に対して、ポインター型に結果アドレスが割り当てられます。ポイント先のサイズが割り当てサイズと同じ場合は、指定された型のオブジェクトが 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. 無断での引用、転載を禁じます。