Akkor lehet, hogy a szellemvilágból üzent...
Szerk: Ahogy most látni vélem, smbd generált egy véletlenszámot, azt felírt a memóriába is, meg egy fájlba is (/var/run/sambalocks/msg.lock/10879150); most visszaolvasta a fájlt, összenézte a kettőt, és azt látja, hogy:
(gdb) print unique
$4 = 3507454691982726598
(gdb) print/x unique
$5 = 0x30acfb75856855c6
(gdb) print id->unique_id
$6 = 13507454691982726598
(gdb) print/x id->unique_id
$7 = 0xbb741e7a0f5055c6
Ez nekem arra hasonlít, mintha elveszett volna egy számjegy a harcban... folyt köv...
Szerk: számoljuk meg a számjegyeket: 13,507,454,691,982,726,598 -- húsz darab.
Vajon valahol van egy char tmp[20]; ?
A másik kérdéses rész, hogy miért nyitja meg a lockfile-t O_NONBLOCK-ra? Okozhat ez gondot?
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 477 megtekintés
Hozzászólások
Van egy olyan komponens, hogy samba-4.4.3/lib/replace/snprintf.c
abban pedig egy
static void fmtint (char *buffer, size_t *currlen, size_t maxlen,
LLONG value, int base, int min, int max, int flags)
{
...
char convert[20];
...
do {
convert[place++] =
(caps? "0123456789ABCDEF":"0123456789abcdef")
[uvalue % (unsigned)base ];
uvalue = (uvalue / (unsigned)base );
} while(uvalue && (place < 20));
if (place == 20) place--;
Nézzünk egy ilyen számot: 10,836,468,295,797,566,824 (uint64_t)
Mit tesz Isten, pont húsz számjegy, tehát a ciklus után zseniálisan megsemmisíti az utolsónak előállított számjegyet (ami a legmagasabb helyiértéken lévő 1).
Namost ha én esetleg oktális számot akarnék kiratni, akkor 1,131,426,750,007,662,766,550 lenne (vezető 0 nélkül), vagyis 21 számjegy.
Még nézegetem egy kicsit, aztán reportolom.
- A hozzászóláshoz be kell jelentkezni
Emlékeztetőül magamnak, ezek vannak most függőben/folyamatban:
11871 - dependency problem 'python_dsdb_dns' vs 'dnsserver_common' when not 'bld.AD_DC_BUILD_IS_ENABLED()
11947 - lib/replace/snprintf.c:fmtint -- buffer too small (convert[20])
12017 - utmp.ut_line is 64 bytes long on AIX -- samba_autoconf.py:CHECK_SIZEOF should handle it
- A hozzászóláshoz be kell jelentkezni