gpio: Fix sprintf to uninitialized pointer

Change-Id: Ife1759b1533b37e0a8c94748334ea2c5f02ba873
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/libopenbmc_intf/gpio.c b/libopenbmc_intf/gpio.c
index 8207691..e48eff4 100644
--- a/libopenbmc_intf/gpio.c
+++ b/libopenbmc_intf/gpio.c
@@ -1,3 +1,5 @@
+#define _GNU_SOURCE
+
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -176,7 +178,7 @@
 char* get_gpio_dev(GPIO* gpio)
 {
 	char* buf;
-	sprintf(buf, "%s/gpio%d/value", gpio->dev, gpio->num);
+	asprintf(&buf, "%s/gpio%d/value", gpio->dev, gpio->num);
 	return buf;
 }