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.

25 lines
584 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.
*/
#include <stddef.h>
void invalidate_local_ok(int** pp) {
int t = 0xdeadbeef;
*pp = &t; // <-- potential bug here since t goes out of scope
}
void access_out_of_scope_stack_ref_bad() {
int* p = NULL;
invalidate_local_ok(&p);
int k = *p; // accessing invalid
}
void no_access_out_of_scope_stack_ref_ok() {
int* p = NULL;
invalidate_local_ok(&p);
// p is not accessed, hence ok
}