diff options
author | wpaul <wpaul@FreeBSD.org> | 2005-05-05 04:16:13 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2005-05-05 04:16:13 +0000 |
commit | bb2b136388b6487eb1e2e1fe0e86f28e49864d25 (patch) | |
tree | d717862415769280d6b32bdf875f9e28b7509d51 /sys/compat/ndis | |
parent | e9bace5ba16735b4fd2dbe727166b3720fbf5101 (diff) | |
download | FreeBSD-src-bb2b136388b6487eb1e2e1fe0e86f28e49864d25.zip FreeBSD-src-bb2b136388b6487eb1e2e1fe0e86f28e49864d25.tar.gz |
Remove extranaous free() of ASCII filename from NdisOpenFile().
Oh, one additional change I forgot to mention in the last commit:
NdisOpenFile() was broken in the case for firmware files that were
pre-loaded as modules. When searching for the module in NdisOpenFile(),
we would match against a symbol name, which would contain the string
we were looking for, then save a pointer to the linker file handle.
Later, in NdisMapFile(), we would refer to the filename hung off
this handle when trying to find the starting address symbol. Only
problem is, this filename is different from the embedded symbol
name we're searching for, so the mapping would fail. I found this
problem while testing the AirGo driver, which requires a small
firmware file.
Diffstat (limited to 'sys/compat/ndis')
-rw-r--r-- | sys/compat/ndis/subr_ndis.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c index e3949f8..2c82c5f 100644 --- a/sys/compat/ndis/subr_ndis.c +++ b/sys/compat/ndis/subr_ndis.c @@ -2896,7 +2896,6 @@ NdisOpenFile(status, filehandle, filelength, filename, highestaddr) } snprintf(path, MAXPATHLEN, "%s/%s", ndis_filepath, afilename); - free(afilename, M_DEVBUF); mtx_lock(&Giant); |