25 lines · 331 B · C
RawDownload
#include "os.h"#include <libsec.h> /* * timing safe memcmp() */inttsmemcmp(void *a1, void *a2, ulong n){	int lt, gt, c1, c2, r, m;	uchar *s1, *s2; 	r = m = 0;	s1 = a1;	s2 = a2;	while(n--){		c1 = *s1++;		c2 = *s2++;		lt = (c1 - c2) >> 8;		gt = (c2 - c1) >> 8;		r |= (lt - gt) & ~m;		m |= lt | gt;	}	return r;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t