summaryrefslogtreecommitdiff
path: root/Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2017-02-04 15:05:50 -0800
committerSteve Dower <steve.dower@microsoft.com>2017-02-04 15:05:50 -0800
commit3b0e4320092ac0504b6670cafaf0301b908c91fc (patch)
treed3be1b6b844d61763bb366fa21ceed475e5703fd /Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
parentb2fa705fd3887c326e811c418469c784353027f4 (diff)
parentf687fbcd73c14dfcbe086eb5cd94b298f1e81e72 (diff)
downloadcpython-3b0e4320092ac0504b6670cafaf0301b908c91fc.tar.gz
Issue #29392: Prevent crash when passing invalid arguments into msvcrt module.
Diffstat (limited to 'Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c')
-rw-r--r--Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c42
1 files changed, 0 insertions, 42 deletions
diff --git a/Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c b/Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
deleted file mode 100644
index 846d57ed1b..0000000000
--- a/Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Area: closure_call
- Purpose: Check return value sshort.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031108 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_sshort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(signed short *)args[0];
- printf("%d: %d\n",*(signed short *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef signed short (*cls_ret_sshort)(signed short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- signed short res;
-
- cl_arg_types[0] = &ffi_type_sshort;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_sshort, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sshort_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_sshort)code))(255);
- /* { dg-output "255: 255" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 255" } */
-
- exit(0);
-}