Răsfoiți Sursa

wifi_essid: add boundary check && prevent the use of direct string literal as a format string in snprintf()

raiz 9 ani în urmă
părinte
comite
94e87eb8ba
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      slstatus.c

+ 2 - 1
slstatus.c

@@ -717,7 +717,8 @@ wifi_essid(const char *iface)
 
 	memset(&wreq, 0, sizeof(struct iwreq));
 	wreq.u.essid.length = IW_ESSID_MAX_SIZE+1;
-	sprintf(wreq.ifr_name, iface);
+	snprintf(wreq.ifr_name, ifrn_name, "%s", iface);
+
 	if (sockfd == -1) {
 		warn("Failed to get ESSID for interface %s", iface);
 		return smprintf("%s", UNKNOWN_STR);