Bastien Nocera
94450a1d74
lib: Fix fpi_img_is_sane()
...
The checks weren't:
- checking whether the width or height were negative
- whether img->width * img->height would overflow, or
was bigger than G_MAXINT
- whether img->width * img->height was bigger than the total
length of the buffer
The last one looks like a thinko, it checked for:
(img->length * img->height) < img->length
which is equivalent to:
img->height < 1
which we already check for earlier.
Closes : #85
2018-10-12 00:54:39 +00:00
Bastien Nocera
c35ad20249
mindtct: Fix a memory leak in morph_TF_map()
...
cimage is leaked when mimage fails to allocate.
Spotted by Seth Arnold
Closes : #82
2018-10-12 00:54:39 +00:00
Bastien Nocera
5e8b4a81e9
mindtct: Fix leak in pixelize_map()
...
pmap was not freed in error cases.
Spotted by Seth Arnold
Closes : #83
2018-10-12 00:54:39 +00:00
Bastien Nocera
21a779235d
mindtct: Fix powmax_dirs leak on error
...
A copy/paste error meant we were trying to free a variable we only just
failed to allocate.
Spotted by Seth Arnold
Closes : #81
2018-10-12 00:54:39 +00:00
Bastien Nocera
1006467f33
lib: Add accessor for minutia coordinates
...
Add fp_minutia_get_coords() so that debugging applications can show the
detected minutiae along with the captured image.
This will also help fix the positively ancient fprint_demo.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907470
2018-10-08 16:50:59 +02:00
Bastien Nocera
cffe49de5c
build: Fix "already configured" meson warning
2018-10-08 16:50:59 +02:00
Bastien Nocera
7962d8cdab
build: Fix build with no drivers using imaging_dep
...
Closes : #109
2018-09-28 15:59:45 +02:00
Bastien Nocera
36dba33808
build: Test builds with a single driver with no deps
...
So that we can be sure that the build doesn't break when those drivers
are not built.
2018-09-28 15:55:56 +02:00
Bastien Nocera
c273908471
lib: Tidy fp_internal.h
...
Group global variables, structure definitions, and functions, and
group functions by which C source they're defined in.
This also removes the FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE
definition that's already available in the drivers API-accessible
fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
bf8661bf45
lib: Include "fpi-dev.h" in drivers header
2018-09-28 15:12:39 +02:00
Bastien Nocera
499b522183
lib: Remove titles from headers
...
The purpose of the headers is (or will be) explained in more details
inside each one of the matching C files.
2018-09-28 15:12:39 +02:00
Bastien Nocera
13bfe7a65c
lib: Move driver definitions to fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
e90ec04441
lib: Move fp_minutiae to fpi-img.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a59a5caaf3
lib: Add missing includes
...
Headers for size_t and ssize_t, as used in the header itself.
2018-09-28 15:12:39 +02:00
Bastien Nocera
5b9f81fb46
lib: Move fp_dev helpers to fpi-dev.h from fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
d3aaebb352
lib: Add include guards to fpi-dev.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a99f920fe0
lib: Add include guards to fpi-poll.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
fb5527c58c
lib: Split off imgdev functions
...
They now live in fpi-dev-img.[ch]
2018-09-28 15:12:39 +02:00
Bastien Nocera
fcd3c1dd89
lib: Split off core.c drivers API
2018-09-28 15:12:39 +02:00
Bastien Nocera
3a9500be67
lib: Move fpi-img utils to fpi-img's header
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d93b86569
lib: Rename assembling.[ch]
...
This is already self-contained.
2018-09-28 15:12:39 +02:00
Bastien Nocera
aca2cd41d8
lib: Rename sync.c to fpi-sync.c
...
All the functions there are public, so no matching header.
2018-09-28 15:12:39 +02:00
Bastien Nocera
1035f733aa
lib: Split off async functions
...
And don't add the new fpi-async.h to the driver imports, it will only
be used by the upekts driver.
2018-09-28 15:12:39 +02:00
Bastien Nocera
2818d94010
lib: Split off fp_img helpers
...
And rename img.c to fpi-img.c, as well as pixman.c to fpi-img-pixman.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d1c34eb60
lib: Make fpi_print_data_item_free() static
2018-09-28 15:12:39 +02:00
Bastien Nocera
ca06fae22e
lib: Split off fpi_print_data helpers
...
And rename data.c to fpi-data.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
36f527269b
Revert "lib: Mark fpi_ssm_get_user_data as deprecated"
...
This reverts commit 1fd82b5162
.
This was causing too many warnings at this stage of porting. We'll add
it again when most of the drivers are ported.
2018-09-28 15:12:39 +02:00
Bastien Nocera
7cfe20e07f
lib: Fix gtk-doc warning
...
warning: no link for: "timeval" -> (<code class="literal">timeval</code>)
2018-09-27 16:08:21 +02:00
Bastien Nocera
1fd82b5162
lib: Mark fpi_ssm_get_user_data as deprecated
2018-09-27 16:07:58 +02:00
Bastien Nocera
0ace5f64f8
elan: Fix use-after-free if USB transfer is cancelled
2018-09-27 15:19:00 +02:00
Bastien Nocera
e532524c7e
elan: Name our timeouts
2018-09-27 15:17:15 +02:00
Bastien Nocera
ebd96f892e
lib: Make fpi_timeout_add() never fail
...
It will now assert if the monotonic clock isn't available. If that's the
case, we'll have bigger problems anyway.
2018-09-27 15:14:05 +02:00
Bastien Nocera
4b9b34fa4d
elan: Use USB helpers
2018-09-27 15:09:59 +02:00
Bastien Nocera
bcc1e7ae73
aes2501: Use USB helpers
...
Nice little cleanups.
2018-09-27 14:49:50 +02:00
Bastien Nocera
27accf42f2
uru4000: Port URU4000 driver to USB helpers
...
Doesn't look very useful.
2018-09-27 14:49:50 +02:00
Bastien Nocera
96f2e07cdd
lib: Add USB transfer helpers
...
Those helpers will provide more arguments in their callbacks, and handle
the libusb_transfer lifecycle, making it easier to use for drivers.
2018-09-27 14:49:50 +02:00
Bastien Nocera
192c4f3cfc
aesx660: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
cb274032da
aes2501: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
b890fa56d8
aes1610: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
b817b46494
lib: Remove home-grown min() implementation
...
And use GLib's.
2018-09-27 14:49:50 +02:00
Bastien Nocera
49ba59369a
aesx660: Remove home-grown min() implementation
...
And use GLib's.
2018-09-27 14:49:50 +02:00
Bastien Nocera
d09cb88e9a
uru4000: Fix typos in comments
2018-09-27 14:49:50 +02:00
Bastien Nocera
44c3f4f772
lib: Cancel pending timeouts on close
...
So that the drivers don't call back into themselves once freed.
2018-09-27 14:49:50 +02:00
Bastien Nocera
948a67a51f
lib: Add internal fpi_timeout_cancel_all_for_dev()
...
This will be used to disable all timeouts for a device that's about
to be closed, and freed.
2018-09-27 14:49:50 +02:00
Bastien Nocera
de79609550
lib: Use timeout name in debug messages when available
2018-09-27 14:49:41 +02:00
Bastien Nocera
d18e10535e
lib: Add a way to name timeouts
...
To make it easier to print debug information about where timeouts are
coming from.
2018-09-27 14:49:41 +02:00
Bastien Nocera
2954583373
lib: Fix memory leak in fpi_poll_exit()
...
The active_timers list was freed, but not the elements themselves.
2018-09-27 14:36:06 +02:00
Bastien Nocera
ccdecdea11
lib: Document fpi_ssm_jump_to_state()
2018-09-26 15:57:25 +02:00
Bastien Nocera
946388d1e9
lib: Fix incorrect guard in FP_IMG_DEV()
...
The check for the DRIVER_IMAGING type was reversed.
2018-09-26 15:53:52 +02:00
Bastien Nocera
10ae8ffb55
drivers: Simplify libusb_alloc_transfer(0) calls
...
By using our new, never-failing, USB allocation wrapper. As it can never
fail, we can also remove all the error paths for the allocations
failing.
2018-09-19 17:06:17 +02:00