aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-07-13Merge pull request #545 from kbevers/lcc-convergenceKristian Evers
Correcting convergence formula for LCC. Fixes #16.
2017-07-13Correcting convergence formula for LCC. Fixes #16.Kristian Evers
2017-07-13Add proj_dmstor() and proj_rtodms() to proj.h API. Resolves #172.Kristian Evers
2017-07-13Added proj_has_inverse(). Fixes #155.Kristian Evers
2017-07-13Implemented proj_transform_coord() and proj_transform_obs()Kristian Evers
2017-07-13Implemented proj_obs()Kristian Evers
2017-07-13Implemented proj_create_crs_to_crs()Kristian Evers
2017-07-10Introducing the Molodensky transform (#541)Kristian Evers
2017-07-07obs_api revision and improvements: new namespace etc. (#530)Thomas Knudsen
* obs_api revision and improvements: new namespace etc. * Minor corrections: use unused functions, add missing prototype, added fwd/invcoord to PJ * Minor correction: MSVC barfs on va_arg type specification. Trying once more with added parens * Reverting paren correction, which appears to be a non-solution * Significant improvements to the OBS_API, plus a number of corrections, mostly in test code, to reflect API changes * Added two missing prototypes * Adding the proj_transform function and some related checks * Improvements to proj_transform etc. based on suggestions from Even Rouault * Reducing the libc include footprint of proj.h - again based on suggestions from Even Rouault * A few minor corrections * Eliminate a MSVC warning about non-initialized usage. Not an actual issue, as another check has locked the path, but at least this should calm down MSVC * Improved support for the errno reset/restore paradigm * Introduced the internal header proj_internal.h; Moved most non-API stuff from pj_obs_api.c to pj_internal.c * Adding proj_internal.h to HEADERS_LIBPROJ to solve build problems * Correcting a few pj...proj blunders in PJ_pipeline.c * Correcting a few additional blunders in PJ_pipeline.c * Changed angle-brackets to quotation marks in includes of proj_internal.h * Some minor build system repairs * Some PJ_CONTEXT usage simplifications following suggestions by Kristian Evers @kbevers * Added version numbering to proj.h - Fixes #529 * remove proj_errno_restore macro, provide function implementation * Add proj_get_definition. Fixes #538 * Added library specific deallocator proj_buffer_free, eliminating a potential cross heap issues on Windows. Thx to Even Rouault for spotting this * Got rid of a meaningless cast in proj_buffer_free * Added some missing functions to proj.def (again spotted by @rouault); removed some not-yet-implemented material from proj.h * Renamed proj_get_definition/proj_buffer_free to proj_definition_create/proj_definition_destroy, for symmetry and clarity * Renaming the definition handlers to proj_definition_retrieve / proj_free * Renaming proj_free to proj_release
2017-07-05Merge pull request #527 from kbevers/issue-526Kristian Evers
Correct calculation of meridian convergence for non-conformal projections
2017-07-05Respect -r flag when calling proj with -V. Fixes #184.Kristian Evers
2017-07-05Let pj_init() expand more than one +init argument.Kristian Evers
With the introduction of transformation pipelines it is now a valid use case to have more than one +init argument in a proj string. This commit makes sure that all +init's are expanded. Added test case to PJ_pipeline.c for use of multiple +init's in a proj-string. Fixes #479.
2017-06-22Use *pj_get_errno_ref() instead of pj_errno because it seems pj_errno is not ↵Kristian Evers
set correctly on some versions of VS. Fixes #484.
2017-06-21Correct calculation of meridian convergence for non-conformal projections. ↵Kristian Evers
Fixes #526.
2017-06-21Reformatting files before making functional changes. Getting rid of old ↵Kristian Evers
coding style and mixed whitespace.
2017-06-13PJ_vgridshift.c: fix memleak in initialization if grid loading failEven Rouault
When gridloading fail for one grid, but return a gridlist, we leak the grid list array. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2230. Credit to OSS Fuzz
2017-06-09PJ_igh.c: assign ctx of igh projection to its children projection objects. ↵Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2167. Credit to OSS Fuzz
2017-06-08PJ_krovak.c: avoid infinite loop in inverse method. Credit to OSS FuzzEven Rouault
2017-06-08PJ_urm5.c: fix memory leak in destructor. Credit to OSS FuzzEven Rouault
2017-06-08Add upper limit to number of iterations for all (documented as such) ↵Even Rouault
computations using Newton-Raphson. Credit to OSS Fuzz
2017-06-08PJ_comill.c: avoid infinite loop in inverse method. Credit to OSS FuzzEven Rouault
2017-06-08pj_gridlist_from_nadgrids(): fix memory leak in error code path. Credit to ↵Even Rouault
OSS Fuzz
2017-06-08PJ_igh.c: fix memory leak. Credit to OSS FuzzEven Rouault
2017-06-02Disallow usage of m<0 and n<0 in gn_sinu.Kristian Evers
Negative values of m and n are not valid. Can for certain values of m and n result in zero division. An error is raised at projection setup if m or n is negative. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1836 Credit to OSS-Fuzz.
2017-06-02Merge pull request #520 from QuLogic/macro-deletionKristian Evers
Remove confusing macros.
2017-06-01Fix memory leaks. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2000. Credit to OSS Fuzz
2017-06-01Disallow +s=0 when in 4-param. mode.Kristian Evers
Avoids zero-division in PJ_helmert.c Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1956 Credit to OSS-Fuzz.
2017-05-31pj_apply_vgridshift(): avoid integer overflow / read heap-buffer-overflow. ↵Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1950. Credit to OSS Fuzz
2017-05-30PJ_ob_tran: avoid infinite recursion on +proj=ob_tran +o_proj=ob_tranEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1932 Credit to OSS Fuzz
2017-05-30PJ_ob_tran: fix crash if underlying projection has no fwd methodEven Rouault
For example +proj=ob_tran +o_proj=hgridshift Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1927 Credit to OSS Fuzz
2017-05-30catalog: memory leak and crashes related fixesEven Rouault
* pj_transform() crashes on a catalog that has no matching grid * pj_free() and pj_gc_unloadall() badly interact. No longer try to free the catalog object in pj_free(). That is the job of pj_gc_unloadall() * Fix memory leaks in pj_gc_readcatalog() and pj_gc_unloadall() Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1923 Credit to OSS Fuzz.
2017-05-29PJ_imw_p.c: fix infinite loop in e_inverse() and memory leak.Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1873 Credit to OSS Fuzz
2017-05-29PJ_ob_tran.c: fix memory leak in freeup_new() function. Found when running ↵Even Rouault
'make check' on a build with -fsanitize=undefined,address
2017-05-29Fix undefined behaviour on memcpy() when provided with NULL source. Found ↵Even Rouault
when running 'make check' on a build with -fsanitize=undefined,address
2017-05-29pj_compare_datums(): fix null pointer dereference.Even Rouault
Can happen when any of the src/dest projection has a +catalog parameter. Fix a memory leak on catalog_name as well. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1799 Credit to OSS Fuzz
2017-05-28Add commentEven Rouault
2017-05-24Remove confusing macros.Elliott Sales de Andrade
The upper-case macro `VAR` casts the lower-case variable `var` to an expected type, but that usage obfuscates the variables to the casual reader. This is especially prevalent in the allocation function in which `var` is the correct type already, so both `var` and `VAR` are valid *and* in use. In any case, for those functions that don't obtain `var` in the correct type from their parameters, it's much simpler to just case once at the beginning.
2017-05-24Merge pull request #519 from kbevers/avoid-zero-divisionKristian Evers
Handle zero division errors reported by OSS-Fuzz
2017-05-24Avoid zero div. in pj_Convert_Geocentric_To_Geodetic().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1800 Credit to OSS-Fuzz.
2017-05-24Avoid zero division in pj_gauss_ini().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1795 Credit to OSS-Fuzz.
2017-05-24Avoid division by zero in pj_ell_set().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1787 Credit to OSS-Fuzz.
2017-05-24Avoid zero division in PJ_eck3.c s_inverser().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1789 Credit to OSS-Fuzz.
2017-05-24Avoid zero division in PJ_aea.c setup().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1791 Credit to OSS-Fuzz.
2017-05-24Mixed whitespace. Replace tabs with spaces.Kristian Evers
2017-05-24Avoid zero division in pj_init_ctx().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1793 Credit to OSS-Fuzz.
2017-05-23pj_transform(): fix segfault when z == NULL and dest defn has a fwd3dEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1794 Credit to OSS Fuzz
2017-05-23pj_open_lib_ex(): protect against write stack buffer overflows.Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1796 Credit to OSS Fuzz
2017-05-23Merge pull request #518 from rouault/fix_ossfuzz_1809Even Rouault
Avoid potentially very long loop when normalizing longitudes around long_wrap_center
2017-05-23Avoid zero division in PJ_stere e_forward().Kristian Evers
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1797 Credit to OSS-Fuzz.
2017-05-23Avoid possible zero division in pj_qsfn().Kristian Evers
Fixes https://oss-fuzz.com/v2/testcase-detail/5224053675655168?noredirect=1 Credit to OSS-Fuzz