Skip to content

Commit 321aa4c

Browse files
authored
Merge pull request #2328 from jdavidberger/master
Fix technical undefined behavior with snprintf
2 parents 8fc187b + ef8850a commit 321aa4c

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/ziflist.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ s_reload (ziflist_t *self, bool ipv6)
227227
int len = 0;
228228
for (i = 0; i < 6; i++)
229229
{
230-
len += snprintf(mac+len, 18, "%02X%s", rawmac[i], i < 5 ? ":":"");
230+
len += snprintf(mac+len, 18-len, "%02X%s", rawmac[i], i < 5 ? ":":"");
231231
}
232232
zhash_insert(mactable, interface->ifa_name, (void *)mac);
233233
}
@@ -240,7 +240,7 @@ s_reload (ziflist_t *self, bool ipv6)
240240
int i;
241241
int len = 0;
242242
for (i = 0; i < 6; i++) {
243-
len += snprintf(mac+len, 18, "%02X%s", s->sll_addr[i], i < 5 ? ":":"");
243+
len += snprintf(mac+len, 18-len, "%02X%s", s->sll_addr[i], i < 5 ? ":":"");
244244
}
245245
zhash_insert(mactable, (interface)->ifa_name, (void *)mac);
246246
}
@@ -320,7 +320,7 @@ s_reload (ziflist_t *self, bool ipv6)
320320
memcpy(rawmac, ifr->ifr_hwaddr.sa_data, 6);
321321
int len = 0;
322322
for (int i = 0; i < 6; i++) {
323-
len += snprintf(mac+len, 18, "%02X%s", rawmac[i], i < 5 ? ":":"" );
323+
len += snprintf(mac+len, 18-len, "%02X%s", rawmac[i], i < 5 ? ":":"" );
324324
}
325325
}
326326

@@ -399,7 +399,7 @@ s_reload (ziflist_t *self, bool ipv6)
399399
if (mac_address != NULL && cur_address->PhysicalAddressLength == 6) {
400400
int len = 0;
401401
for (int i = 0; i < 6; i++) {
402-
len += snprintf( mac+len, 18, "%02X%s", mac_address[i], i < 5 ? ":":"" );
402+
len += snprintf( mac+len, 18-len, "%02X%s", mac_address[i], i < 5 ? ":":"" );
403403
}
404404
}
405405
interface_t *item = s_interface_new (asciiFriendlyName,

0 commit comments

Comments
 (0)