efivar/efivar-fix-initializer.patch
Gary Ching-Pang Lin df9e614bd4 Accepting request 346953 from home:gary_lin:branches:Base:System
- Update to 0.21
- Add efivar-fix-initializer.patch to initialize ifreq properly
- Drop patches
  + efivar-fix-vars_del_variable.patch: upstreamed
  + efivar-revert-linker-order.patch: not necessary

OBS-URL: https://build.opensuse.org/request/show/346953
OBS-URL: https://build.opensuse.org/package/show/Base:System/efivar?expand=0&rev=10
2015-12-01 08:46:56 +00:00

43 lines
1.2 KiB
Diff

From a3606c02fd271d32e364fcc540e34ba1899309f6 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 14 Jul 2015 09:33:54 -0400
Subject: [PATCH] Sometimes the compiler doesn't like { 0, } as an
initializer...
Because it really wants to be { {0, },} or something, and sometimes the
compiler, knowing full well what we're trying to do, likes to complain
about the rigor applied to our technique in doing it.
memset() the struct ifreq to 0 instead so I don't need to figure out its
internal structure just to zero it out.
Resolves #28
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/linux.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/linux.c b/src/linux.c
index 57f71f3..817b8e6 100644
--- a/src/linux.c
+++ b/src/linux.c
@@ -847,12 +847,13 @@ ssize_t
__attribute__((__visibility__ ("hidden")))
make_mac_path(uint8_t *buf, ssize_t size, const char * const ifname)
{
- struct ifreq ifr = { 0, };
+ struct ifreq ifr;
struct ethtool_drvinfo drvinfo = { 0, };
int fd, rc;
ssize_t ret = -1, sz, off=0;
char busname[PATH_MAX+1] = "";
+ memset(&ifr, 0, sizeof (ifr));
strncpy(ifr.ifr_name, ifname, IF_NAMESIZE);
drvinfo.cmd = ETHTOOL_GDRVINFO;
ifr.ifr_data = (caddr_t)&drvinfo;
--
2.6.3