diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-09-04 01:03:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-04 01:03:49 +0200 |
| commit | 37d2bac78da52eb82dba9cfe17b38df3f54bcd7e (patch) | |
| tree | 0293a3efc68f2a717d43a2fd02148f6895cc4c11 /test/unit/test_c_api.cpp | |
| parent | d4b2acb3146a323c783e83f828f3dca240f96d41 (diff) | |
| parent | 126991dea06eb7160fe572b147f8a74a306b5c58 (diff) | |
| download | PROJ-37d2bac78da52eb82dba9cfe17b38df3f54bcd7e.tar.gz PROJ-37d2bac78da52eb82dba9cfe17b38df3f54bcd7e.zip | |
Merge pull request #2839 from rouault/fix_ossfuzz_31964
pj_obj_create(): avoid passing invalid ellipsoid parameters ot pj_calc_ellipsoid_params()
Diffstat (limited to 'test/unit/test_c_api.cpp')
| -rw-r--r-- | test/unit/test_c_api.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index 44dceb97..721c54d5 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -346,6 +346,32 @@ TEST_F(CApi, proj_create_from_wkt) { ObjectKeeper keeper(obj); EXPECT_NE(obj, nullptr); } + { + // Invalid ellipsoidal parameter (semi major axis) + auto obj = proj_create_from_wkt( + m_ctxt, + "GEOGCS[\"test\",\n" + " DATUM[\"test\",\n" + " SPHEROID[\"test\",0,298.257223563,\"unused\"]],\n" + " PRIMEM[\"Greenwich\",0],\n" + " UNIT[\"degree\",0.0174532925199433]]", + nullptr, nullptr, nullptr); + ObjectKeeper keeper(obj); + EXPECT_EQ(obj, nullptr); + } + { + // Invalid ellipsoidal parameter (inverse flattening) + auto obj = proj_create_from_wkt( + m_ctxt, + "GEOGCS[\"test\",\n" + " DATUM[\"test\",\n" + " SPHEROID[\"test\",6378137,-1,\"unused\"]],\n" + " PRIMEM[\"Greenwich\",0],\n" + " UNIT[\"degree\",0.0174532925199433]]", + nullptr, nullptr, nullptr); + ObjectKeeper keeper(obj); + EXPECT_EQ(obj, nullptr); + } } // --------------------------------------------------------------------------- |
