Closed Bug 35405 Opened 25 years ago Closed 25 years ago

rcnetdb.cpp uses == to compare two PRIPv6Addr structures

Categories

(NSPR :: NSPR, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wtc, Assigned: wtc)

Details

Attachments

(1 file)

This bug is reported by Braden N. McDaniel <braden@endoframe.com>. Compilation of rcnetdb.cpp, revision 1.3, with USE_CPLUS=1 USE_IPV6=1 fails: coffee:/u/wtc/tip/mozilla/nsprpub/pr/src/cplus 65% gmake USE_CPLUS=1 USE_IPV6=1 g++ -o Linux2.2.5_x86_PTH_DBG.OBJ/rcnetdb.o -c -g -fPIC -ansi -Wall -pipe -DLINUX -Dlinux -Di386 -D_POSIX_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -DHAVE_STRERROR -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -D_PR_INET6 -DXP_UNIX -DDEBUG -UNDEBUG -DDEBUG_wtc -D_REENTRANT -D_NSPR_BUILD_ -I../../../../dist/Linux2.2.5_x86_PTH_DBG.OBJ/include rcnetdb.cpp rcnetdb.cpp: In method `PRBool RCNetAddr::EqualHost(const class RCNetAddr &) const': rcnetdb.cpp:96: no match for `const PRIPv6Addr & == const PRIPv6Addr &' rcnetdb.cpp: In method `const class RCNetAddr * RCHostLookup::operator [](PRUintn)': rcnetdb.cpp:211: warning: comparison between signed and unsigned gmake: *** [Linux2.2.5_x86_PTH_DBG.OBJ/rcnetdb.o] Error 1 The problem is that RCNetAddr::EqualHost uses the == operator to compare two PRIPv6Addr structures. We need to use memcmp to compare two structures. Also, now that PR_AF_INET6 is always defined, we can get rid of the #ifdef _PR_INET6 in this file.
Attached patch Proposed fix.Splinter Review
The fix is checked in. /cvsroot/mozilla/nsprpub/pr/src/cplus/rcnetdb.cpp, revision 1.4
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Target Milestone: --- → 4.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: