diff options
author | Jayant Chowdhary <jchowdhary@google.com> | 2021-11-12 18:22:59 +0000 |
---|---|---|
committer | Jayant Chowdhary <jchowdhary@google.com> | 2021-12-04 23:06:59 +0000 |
commit | c9da78d8d9f302c767b366ef256e24fa32f8784f (patch) | |
tree | e2d496cf4f803826157898c282412d7ff2d4b04e | |
parent | 4ceb535b530fd8d0504c9df65c99045a71e12232 (diff) | |
download | libexif-c9da78d8d9f302c767b366ef256e24fa32f8784f.tar.gz |
Zero initialize ExifMnoteData<vendor> during construction with exif_mnote_data_<vendor>_new.
This is in order to not have an uninitialized 'mem' pointer in parent
ExifMnoteData after construction, when a non default ExifMem is used.
Bug: 205915333
Bug: 196085005
Test: create exif_mnote_data_<vendor>_new with non default exif mem using
malloc debug; use exif_mem pointer from previously created
ExifMnoteData, client app doesn't crash.
Change-Id: I35a393cdfb03755109aaa8f725b0792aef359dc6
Merged-In: Id106e79e829329145d27a93273241b58878bfac3
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
-rw-r--r-- | libexif/canon/exif-mnote-data-canon.c | 2 | ||||
-rw-r--r-- | libexif/fuji/exif-mnote-data-fuji.c | 2 | ||||
-rw-r--r-- | libexif/olympus/exif-mnote-data-olympus.c | 2 | ||||
-rw-r--r-- | libexif/pentax/exif-mnote-data-pentax.c | 2 |
4 files changed, 8 insertions, 0 deletions
diff --git a/libexif/canon/exif-mnote-data-canon.c b/libexif/canon/exif-mnote-data-canon.c index 6d97930..3a0778c 100644 --- a/libexif/canon/exif-mnote-data-canon.c +++ b/libexif/canon/exif-mnote-data-canon.c @@ -384,6 +384,8 @@ exif_mnote_data_canon_new (ExifMem *mem, ExifDataOption o) if (!d) return NULL; + memset(d, 0, sizeof(ExifMnoteDataCanon)); + exif_mnote_data_construct (d, mem); /* Set up function pointers */ diff --git a/libexif/fuji/exif-mnote-data-fuji.c b/libexif/fuji/exif-mnote-data-fuji.c index 3f3091b..ce70bb6 100644 --- a/libexif/fuji/exif-mnote-data-fuji.c +++ b/libexif/fuji/exif-mnote-data-fuji.c @@ -342,6 +342,8 @@ exif_mnote_data_fuji_new (ExifMem *mem) d = exif_mem_alloc (mem, sizeof (ExifMnoteDataFuji)); if (!d) return NULL; + memset(d, 0, sizeof(ExifMnoteDataFuji)); + exif_mnote_data_construct (d, mem); /* Set up function pointers */ diff --git a/libexif/olympus/exif-mnote-data-olympus.c b/libexif/olympus/exif-mnote-data-olympus.c index 493463b..f11616c 100644 --- a/libexif/olympus/exif-mnote-data-olympus.c +++ b/libexif/olympus/exif-mnote-data-olympus.c @@ -657,6 +657,8 @@ exif_mnote_data_olympus_new (ExifMem *mem) d = exif_mem_alloc (mem, sizeof (ExifMnoteDataOlympus)); if (!d) return NULL; + memset(d, 0, sizeof(ExifMnoteDataOlympus)); + exif_mnote_data_construct (d, mem); /* Set up function pointers */ diff --git a/libexif/pentax/exif-mnote-data-pentax.c b/libexif/pentax/exif-mnote-data-pentax.c index b4722d6..3676563 100644 --- a/libexif/pentax/exif-mnote-data-pentax.c +++ b/libexif/pentax/exif-mnote-data-pentax.c @@ -443,6 +443,8 @@ exif_mnote_data_pentax_new (ExifMem *mem) d = exif_mem_alloc (mem, sizeof (ExifMnoteDataPentax)); if (!d) return NULL; + memset(d, 0, sizeof(ExifMnoteDataPentax)); + exif_mnote_data_construct (d, mem); /* Set up function pointers */ |