You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
641 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
struct X {
int f;
};
typedef struct X X;
void testOK() {
X x;
X* p = malloc(sizeof(X));
if (p)
memcpy(p, &x, sizeof(X));
free(p);
}
void testError1() {
X x;
X* p = 0;
memcpy(p, &x, sizeof(X)); // crash
}
void testError2() {
X x;
X* r;
X* p = 0;
r = p;
memcpy(r, &x, sizeof(X)); // crash
}
void testError3() {
X* x = 0;
X* p = malloc(sizeof(X));
if (p) {
memcpy(p, x, sizeof(X)); // crash
free(p);
}
}