aboutsummaryrefslogtreecommitdiff
path: root/src/apps/geod.cpp
AgeCommit message (Collapse)Author
2022-02-19Fix nullptr dereference in utilities whan argv[0] == NULLEven Rouault
https://lwn.net/Articles/?offset=50 was an entertaining reading where we learn that the fact that argv[0] contains the name of the binary is purely a convention, normally taken by the shell that launches the process, but not guaranteed by the execve() system call that does the job. The following test program tested against cct, cs2cs, geod, gie and proj make them cause a null pointer dereference ``` #include <unistd.h> #include <stdio.h> extern char **environ; int main() { char* argv[] = { NULL }; printf("%d\n", execve("/path/to/some/proj/binary", argv, environ)); return 0; } ```
2021-10-09geod / proj: accept lt-inv[geod/proj] name for older libtool versionsEven Rouault
2020-11-17cs2cs, cct, proj and geod: fflush(stdout) after each line to emit each ↵Even Rouault
result as soon as it is produced This is needed when working with pipes, when stdout is not an interactive terminal, and thus the behaviour is to have it buffered as a regular file, whereas with an interactive terminal, each newline character causes an implicit flush.
2020-03-13Tag proj_list_units() as deprecatedEven Rouault
2019-03-24Doc: consistently use +opt and bracketsChris Mayo
+opt represents one parameter. An ellipsis indicates additional instances of the previous parameter may be given. Spaces are used between parameters and before an ellipsis, not purely to format brackets. See man(1) SYNOPSIS conventions.
2018-12-30Merge projects.h into proj_internal.hEven Rouault
2018-12-26cpp conversion: move source files in apps/ iso19111/ conversions/ ↵Even Rouault
projections/ transformations/ tests/ subdirectories