summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorIngvar Stepanyan <me@rreverser.com>2022-09-21 08:28:25 +0100
committerGitHub <noreply@github.com>2022-09-21 09:28:25 +0200
commit51d5d4a0839ecf6fcb6e1c21d827092ef34f3fbc (patch)
tree986ad68cf4cb77d8a35892650e440aa79f562e7f /examples
parent77aad1cf4c0e48385d43cc4d1614517e1fa27979 (diff)
downloadlibgphoto2-51d5d4a0839ecf6fcb6e1c21d827092ef34f3fbc.tar.gz
Fix `GP_UNKNOWN_EVENT` leaks in examples (#833)
Most of the examples give wrong impression that `GP_UNKNOWN_EVENT` data does not need to be freed / is not heap allocated, however it's not the case - those messages are always `malloc`'d by corresponding drivers.
Diffstat (limited to 'examples')
-rw-r--r--examples/best-iso.c2
-rw-r--r--examples/sample-tether.c1
-rw-r--r--examples/sample-trigger-capture.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/examples/best-iso.c b/examples/best-iso.c
index 477e272d6..a023347c3 100644
--- a/examples/best-iso.c
+++ b/examples/best-iso.c
@@ -302,6 +302,8 @@ camera_tether(Camera *camera, GPContext *context) {
free (val);
}
}
+
+ free(evtdata);
} else {
printf("Unknown event.\n");
}
diff --git a/examples/sample-tether.c b/examples/sample-tether.c
index 0e38c12ba..683f006c8 100644
--- a/examples/sample-tether.c
+++ b/examples/sample-tether.c
@@ -78,6 +78,7 @@ camera_tether(Camera *camera, GPContext *context) {
case GP_EVENT_UNKNOWN:
if (evtdata) {
printf("Unknown event: %s.\n", (char*)evtdata);
+ free(evtdata);
} else {
printf("Unknown event.\n");
}
diff --git a/examples/sample-trigger-capture.c b/examples/sample-trigger-capture.c
index 8bf9b4ff1..fb2c063c5 100644
--- a/examples/sample-trigger-capture.c
+++ b/examples/sample-trigger-capture.c
@@ -61,6 +61,8 @@ wait_event_and_download (Camera *camera, int waittime, GPContext *context) {
fprintf (stderr, "wait for event CAPTURE_COMPLETE\n");
break;
case GP_EVENT_UNKNOWN:
+ free(data);
+ break;
case GP_EVENT_TIMEOUT:
break;
case GP_EVENT_FOLDER_ADDED: