chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d257f05
)
efivars: un-leak a few strings
author
Zbigniew Jędrzejewski-Szmek
<zbyszek@in.waw.pl>
Wed, 3 Apr 2013 20:32:01 +0000
(16:32 -0400)
committer
Zbigniew Jędrzejewski-Szmek
<zbyszek@in.waw.pl>
Fri, 5 Apr 2013 02:46:19 +0000
(22:46 -0400)
src/shared/efivars.c
patch
|
blob
|
history
diff --git
a/src/shared/efivars.c
b/src/shared/efivars.c
index 06cf127de159c174f262fc4119952361843c315b..8d004bad33525832237f942cadd9c435d2623691 100644
(file)
--- a/
src/shared/efivars.c
+++ b/
src/shared/efivars.c
@@
-231,10
+231,12
@@
int efi_get_boot_option(
if (title_size > l - offsetof(struct boot_option, title))
return -EINVAL;
if (title_size > l - offsetof(struct boot_option, title))
return -EINVAL;
- s = utf16_to_utf8(header->title, title_size);
- if (!s) {
- err = -ENOMEM;
- goto err;
+ if (title) {
+ s = utf16_to_utf8(header->title, title_size);
+ if (!s) {
+ err = -ENOMEM;
+ goto err;
+ }
}
if (header->path_len > 0) {
}
if (header->path_len > 0) {
@@
-270,12
+272,13
@@
int efi_get_boot_option(
if (dpath->drive.signature_type != 0x02)
continue;
if (dpath->drive.signature_type != 0x02)
continue;
- efi_guid_to_id128(dpath->drive.signature, &p_uuid);
+ if (part_uuid)
+ efi_guid_to_id128(dpath->drive.signature, &p_uuid);
continue;
}
/* Sub-Type 4 – File Path */
continue;
}
/* Sub-Type 4 – File Path */
- if (dpath->sub_type == 0x04) {
+ if (dpath->sub_type == 0x04
&& !p && path
) {
p = utf16_to_utf8(dpath->path, dpath->length-4);
continue;
}
p = utf16_to_utf8(dpath->path, dpath->length-4);
continue;
}