Coverity-updates archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

New Defects reported by Coverity Scan for NetBSD-amd64-user



Hi,

Please find the latest report on new defect(s) introduced to NetBSD-amd64-user found with Coverity Scan.

95 new defect(s) introduced to NetBSD-amd64-user found with Coverity Scan.
2 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 95 defect(s)


** CID 114514:    (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 449 in atombios_adjust_pll()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 460 in atombios_adjust_pll()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 449 in atombios_adjust_pll()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 460 in atombios_adjust_pll()


________________________________________________________________________________________________________
*** CID 114514:    (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 449 in atombios_adjust_pll()
443     	switch(major) {
444     	case 1:
445     	    switch(minor) {
446     	    case 1:
447     	    case 2:
448     		args.v1.usPixelClock = cpu_to_le16(adjusted_clock / 10);
>>>     CID 114514:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
449     		args.v1.ucTransmitterID = radeon_encoder->encoder_id;
450     		args.v1.ucEncodeMode = atombios_get_encoder_mode(output);
451     
452     /*		ErrorF("before %d\n", args.v1.usPixelClock); */
453     		if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
454     		    adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10;
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 460 in atombios_adjust_pll()
454     		    adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10;
455     		}
456     /*		ErrorF("after %d\n", args.v1.usPixelClock); */
457     		break;
458     	    case 3:
459     		args.v3.sInput.usPixelClock = cpu_to_le16(adjusted_clock / 10);
>>>     CID 114514:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
460     		args.v3.sInput.ucTransmitterID = radeon_encoder->encoder_id;
461     		args.v3.sInput.ucEncodeMode = atombios_get_encoder_mode(output);
462     		args.v3.sInput.ucDispPllConfig = 0;
463     		if (radeon_output->coherent_mode || (args.v3.sInput.ucEncodeMode == ATOM_ENCODER_MODE_DP))
464     		    args.v3.sInput.ucDispPllConfig |= DISPPLL_CONFIG_COHERENT_MODE;
465     		if (adjusted_clock > 165000)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 449 in atombios_adjust_pll()
443     	switch(major) {
444     	case 1:
445     	    switch(minor) {
446     	    case 1:
447     	    case 2:
448     		args.v1.usPixelClock = cpu_to_le16(adjusted_clock / 10);
>>>     CID 114514:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
449     		args.v1.ucTransmitterID = radeon_encoder->encoder_id;
450     		args.v1.ucEncodeMode = atombios_get_encoder_mode(output);
451     
452     /*		ErrorF("before %d\n", args.v1.usPixelClock); */
453     		if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
454     		    adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10;
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 460 in atombios_adjust_pll()
454     		    adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10;
455     		}
456     /*		ErrorF("after %d\n", args.v1.usPixelClock); */
457     		break;
458     	    case 3:
459     		args.v3.sInput.usPixelClock = cpu_to_le16(adjusted_clock / 10);
>>>     CID 114514:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
460     		args.v3.sInput.ucTransmitterID = radeon_encoder->encoder_id;
461     		args.v3.sInput.ucEncodeMode = atombios_get_encoder_mode(output);
462     		args.v3.sInput.ucDispPllConfig = 0;
463     		if (radeon_output->coherent_mode || (args.v3.sInput.ucEncodeMode == ATOM_ENCODER_MODE_DP))
464     		    args.v3.sInput.ucDispPllConfig |= DISPPLL_CONFIG_COHERENT_MODE;
465     		if (adjusted_clock > 165000)

** CID 986757:    (ARRAY_VS_SINGLETON)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c: 543 in RADEONDRIMoveBuffers()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c: 588 in RADEONDRIMoveBuffers()


________________________________________________________________________________________________________
*** CID 986757:    (ARRAY_VS_SINGLETON)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c: 543 in RADEONDRIMoveBuffers()
537     
538     	    while (pboxBase >= pbox) {
539     		while ((pboxNext >= pbox) && (pboxBase->y1 == pboxNext->y1))
540     		    pboxNext--;
541     
542     		pboxTmp = pboxNext+1;
>>>     CID 986757:    (ARRAY_VS_SINGLETON)
>>>     Using "pptSrc" as an array.  This might corrupt or misinterpret adjacent memory locations.
543     		pptTmp  = pptSrc + (pboxTmp - pbox);
544     
545     		while (pboxTmp <= pboxBase) {
546     		    *pboxNew1++ = *pboxTmp++;
547     		    *pptNew1++  = *pptTmp++;
548     		}
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c: 588 in RADEONDRIMoveBuffers()
582     	    while (pboxBase < pbox+nbox) {
583     		while ((pboxNext < pbox+nbox)
584     		       && (pboxNext->y1 == pboxBase->y1))
585     		    pboxNext++;
586     
587     		pboxTmp = pboxNext;
>>>     CID 986757:    (ARRAY_VS_SINGLETON)
>>>     Using "pptSrc" as an array.  This might corrupt or misinterpret adjacent memory locations.
588     		pptTmp  = pptSrc + (pboxTmp - pbox);
589     
590     		while (pboxTmp != pboxBase) {
591     		    *pboxNew2++ = *--pboxTmp;
592     		    *pptNew2++  = *--pptTmp;
593     		}

** CID 986894:  Error handling issues  (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c: 803 in NVGetPCIXpressChip()


________________________________________________________________________________________________________
*** CID 986894:  Error handling issues  (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c: 803 in NVGetPCIXpressChip()
797         void *tmp;
798     
799         pci_device_cfg_read_u32(dev, &pcicmd, PCI_CMD_STAT_REG);
800         pci_device_cfg_write_u32(dev, pcicmd | PCI_CMD_MEM_ENABLE,
801                                  PCI_CMD_STAT_REG);
802     
>>>     CID 986894:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
803         pci_device_map_range(dev, dev->regions[0].base_addr, 0x2000,
804                              PCI_DEV_MAP_FLAG_WRITABLE, &tmp);
805         regs = tmp;
806         pciid = regs[0x1800/4];
807         pci_device_unmap_range(dev, tmp, 0x2000);
808     

** CID 986895:  Error handling issues  (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c: 2113 in NVMapMem()


________________________________________________________________________________________________________
*** CID 986895:  Error handling issues  (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c: 2113 in NVMapMem()
2107     {
2108         NVPtr pNv = NVPTR(pScrn);
2109     
2110     #if XSERVER_LIBPCIACCESS
2111         void *tmp;
2112     
>>>     CID 986895:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
2113         pci_device_map_range(pNv->PciInfo, pNv->FbAddress, pNv->FbMapSize,
2114                              PCI_DEV_MAP_FLAG_WRITABLE |
2115                              PCI_DEV_MAP_FLAG_WRITE_COMBINE, &tmp);
2116         pNv->FbBase = tmp;
2117     #else
2118         pNv->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,

** CID 986896:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_driver.c: 831 in RivaMapMem()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_driver.c: 834 in RivaMapMem()


________________________________________________________________________________________________________
*** CID 986896:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_driver.c: 831 in RivaMapMem()
825         /*
826          * Map IO registers to virtual address space
827          */ 
828     #if XSERVER_LIBPCIACCESS
829         void *tmp;
830     
>>>     CID 986896:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
831         pci_device_map_range(pRiva->PciInfo, pRiva->IOAddress, 0x1000000,
832                              PCI_DEV_MAP_FLAG_WRITABLE, &tmp);
833         pRiva->IOBase = tmp;
834         pci_device_map_range(pRiva->PciInfo, pRiva->FbAddress, pRiva->FbMapSize,
835                              PCI_DEV_MAP_FLAG_WRITABLE |
836                              PCI_DEV_MAP_FLAG_WRITE_COMBINE,
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_driver.c: 834 in RivaMapMem()
828     #if XSERVER_LIBPCIACCESS
829         void *tmp;
830     
831         pci_device_map_range(pRiva->PciInfo, pRiva->IOAddress, 0x1000000,
832                              PCI_DEV_MAP_FLAG_WRITABLE, &tmp);
833         pRiva->IOBase = tmp;
>>>     CID 986896:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
834         pci_device_map_range(pRiva->PciInfo, pRiva->FbAddress, pRiva->FbMapSize,
835                              PCI_DEV_MAP_FLAG_WRITABLE |
836                              PCI_DEV_MAP_FLAG_WRITE_COMBINE,
837                              &tmp);
838         pRiva->FbBase = tmp;
839     #else

** CID 986897:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 250 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 251 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 252 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 253 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 254 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 255 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 256 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 257 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 258 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 264 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 265 in Riva3Setup()
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 266 in Riva3Setup()


________________________________________________________________________________________________________
*** CID 986897:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 250 in Riva3Setup()
244     #define MAP(ptr, offset, size) \
245         pRiva->riva.ptr = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO | \
246                                         VIDMEM_READSIDEEFFECT, pRiva->PciTag, \
247                                         (offset), (size));
248     #endif
249     
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 251 in Riva3Setup()
245         pRiva->riva.ptr = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO | \
246                                         VIDMEM_READSIDEEFFECT, pRiva->PciTag, \
247                                         (offset), (size));
248     #endif
249     
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 252 in Riva3Setup()
246                                         VIDMEM_READSIDEEFFECT, pRiva->PciTag, \
247                                         (offset), (size));
248     #endif
249     
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 253 in Riva3Setup()
247                                         (offset), (size));
248     #endif
249     
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 254 in Riva3Setup()
248     #endif
249     
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 255 in Riva3Setup()
249     
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
260         /*
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 256 in Riva3Setup()
250         MAP(PRAMDAC, regBase + 0x00680000, 0x00003000);
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 257 in Riva3Setup()
251         MAP(PFB,     regBase + 0x00100000, 0x00001000);
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
262          * sparse on alpha.
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 258 in Riva3Setup()
252         MAP(PFIFO,   regBase + 0x00002000, 0x00002000);
253         MAP(PGRAPH,  regBase + 0x00400000, 0x00002000);
254         MAP(PEXTDEV, regBase + 0x00101000, 0x00001000);
255         MAP(PTIMER,  regBase + 0x00009000, 0x00001000);
256         MAP(PMC,     regBase + 0x00000000, 0x00009000);
257         MAP(FIFO,    regBase + 0x00800000, 0x00010000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
262          * sparse on alpha.
263          */
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 264 in Riva3Setup()
258         MAP(PRAMIN,  frameBase+0x00C00000, 0x00008000);
259     
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
262          * sparse on alpha.
263          */
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
264         MAP(PCIO, regBase + 0x00601000, 0x00003000);
265         MAP(PDIO, regBase + 0x00681000, 0x00003000);
266         MAP(PVIO, regBase + 0x000C0000, 0x00001000);
267     
268     #undef MAP
269     
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 265 in Riva3Setup()
259     
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
262          * sparse on alpha.
263          */
264         MAP(PCIO, regBase + 0x00601000, 0x00003000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
265         MAP(PDIO, regBase + 0x00681000, 0x00003000);
266         MAP(PVIO, regBase + 0x000C0000, 0x00001000);
267     
268     #undef MAP
269     
270         pRiva->riva.PCRTC = pRiva->riva.PGRAPH;
/home/phil/cov/xsrc/external/mit/xf86-video-nv/dist/src/riva_setup.c: 266 in Riva3Setup()
260         /*
261          * These registers are read/write as 8 bit values.  Probably have to map
262          * sparse on alpha.
263          */
264         MAP(PCIO, regBase + 0x00601000, 0x00003000);
265         MAP(PDIO, regBase + 0x00681000, 0x00003000);
>>>     CID 986897:    (CHECKED_RETURN)
>>>     Calling "pci_device_map_range" without checking return value (as is done elsewhere 73 out of 91 times).
266         MAP(PVIO, regBase + 0x000C0000, 0x00001000);
267     
268     #undef MAP
269     
270         pRiva->riva.PCRTC = pRiva->riva.PGRAPH;
271     

** CID 986899:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 585 in rhdRROutputCreateResources()
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 592 in rhdRROutputCreateResources()
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 603 in rhdRROutputCreateResources()
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 613 in rhdRROutputCreateResources()
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 619 in rhdRROutputCreateResources()


________________________________________________________________________________________________________
*** CID 986899:    (CHECKED_RETURN)
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 585 in rhdRROutputCreateResources()
579         atom_HDMI            = MakeAtom("HDMI", 4, TRUE);
580         atom_Panel           = MakeAtom("Panel", 5, TRUE);
581     
582         /* Set up properties */
583         val = rhdGetSignalFormat(rout);
584         /* TODO: for TV multiple signal formats will be possible */
>>>     CID 986899:    (CHECKED_RETURN)
>>>     Calling "RRConfigureOutputProperty" without checking return value (as is done elsewhere 37 out of 44 times).
585         RRConfigureOutputProperty(out->randr_output, atom_SignalFormat,
586     			      FALSE, FALSE, TRUE, 1, &val);
587         RRChangeOutputProperty(out->randr_output, atom_SignalFormat,
588     			   XA_ATOM, 32, PropModeReplace,
589     			   1, &val, FALSE, FALSE);
590     
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 592 in rhdRROutputCreateResources()
586     			      FALSE, FALSE, TRUE, 1, &val);
587         RRChangeOutputProperty(out->randr_output, atom_SignalFormat,
588     			   XA_ATOM, 32, PropModeReplace,
589     			   1, &val, FALSE, FALSE);
590     
591         val = rhdGetConnectorType(rout);
>>>     CID 986899:    (CHECKED_RETURN)
>>>     Calling "RRConfigureOutputProperty" without checking return value (as is done elsewhere 37 out of 44 times).
592         RRConfigureOutputProperty(out->randr_output, atom_ConnectorType,
593     			      FALSE, FALSE, TRUE, 0, NULL);
594         RRChangeOutputProperty(out->randr_output, atom_ConnectorType,
595     			   XA_ATOM, 32, PropModeReplace,
596     			   1, &val, FALSE, FALSE);
597     
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 603 in rhdRROutputCreateResources()
597     
598         for (num = 0; num < RHD_CONNECTORS_MAX; num++)
599     	if (rout->Connector == rhdPtr->Connector[num])
600     	    break;
601         ASSERT(num < RHD_CONNECTORS_MAX);
602         num++;		/* For RANDR_CONNECTOR_NUMBER 0 is unknown */
>>>     CID 986899:    (CHECKED_RETURN)
>>>     Calling "RRConfigureOutputProperty" without checking return value (as is done elsewhere 37 out of 44 times).
603         RRConfigureOutputProperty(out->randr_output, atom_ConnectorNumber,
604     			      FALSE, FALSE, TRUE, 0, NULL);
605         RRChangeOutputProperty(out->randr_output, atom_ConnectorNumber,
606     			   XA_INTEGER, 32, PropModeReplace,
607     			   1, &num, FALSE, FALSE);
608     
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 613 in rhdRROutputCreateResources()
607     			   1, &num, FALSE, FALSE);
608     
609         for (num = 1, o = rhdPtr->Outputs; o; num++, o = o->Next)
610     	if (rout->Output == o)
611     	    break;
612         ASSERT(o);
>>>     CID 986899:    (CHECKED_RETURN)
>>>     Calling "RRConfigureOutputProperty" without checking return value (as is done elsewhere 37 out of 44 times).
613         RRConfigureOutputProperty(out->randr_output, atom_OutputNumber,
614     			      FALSE, FALSE, FALSE, 0, NULL);
615         RRChangeOutputProperty(out->randr_output, atom_OutputNumber,
616     			   XA_INTEGER, 32, PropModeReplace,
617     			   1, &num, FALSE, FALSE);
618     
/home/phil/cov/xsrc/external/mit/xf86-video-radeonhd/dist/src/rhd_randr.c: 619 in rhdRROutputCreateResources()
613         RRConfigureOutputProperty(out->randr_output, atom_OutputNumber,
614     			      FALSE, FALSE, FALSE, 0, NULL);
615         RRChangeOutputProperty(out->randr_output, atom_OutputNumber,
616     			   XA_INTEGER, 32, PropModeReplace,
617     			   1, &num, FALSE, FALSE);
618     
>>>     CID 986899:    (CHECKED_RETURN)
>>>     Calling "RRConfigureOutputProperty" without checking return value (as is done elsewhere 37 out of 44 times).
619         RRConfigureOutputProperty(out->randr_output, atom_PanningArea,
620     			      FALSE, FALSE, FALSE, 0, NULL);
621         RRChangeOutputProperty(out->randr_output, atom_PanningArea,
622     			   XA_STRING, 8, PropModeReplace,
623     			   0, NULL, FALSE, FALSE);
624     

** CID 986977:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 686 in legacy_crtc_dpms()


________________________________________________________________________________________________________
*** CID 986977:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 686 in legacy_crtc_dpms()
680     		RADEON_CRTC_HSYNC_DIS |
681     		RADEON_CRTC_VSYNC_DIS);
682     
683         switch(mode) {
684         case DPMSModeOn:
685     	if (radeon_crtc->crtc_id) {
>>>     CID 986977:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
>>>     "(33554432U /* 1 << 25 */) & ~~((33554432U /* 1 << 25 */) | mask)" is always 0x2000000 regardless of the values of its operands. This occurs as the bitwise operand of '|='.
686     	    OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_EN, ~(RADEON_CRTC2_EN | mask));
687     	} else {
688     	    OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_EN, ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B));
689     	    OUTREGP(RADEON_CRTC_EXT_CNTL, 0, ~mask);
690     	}
691     	break;

** CID 987068:  Possible Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1179 in RADEONInitDispBandwidthAVIVO()


________________________________________________________________________________________________________
*** CID 987068:  Possible Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1179 in RADEONInitDispBandwidthAVIVO()
1173          */
1174     
1175         if (info->IsIGP) {
1176     	float core_clock_bandwidth = ((float)info->pm.mode[info->pm.current_mode].sclk / 100) * 16 / 1;
1177     
1178     	if (sideport) {
>>>     CID 987068:  Possible Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "sideport_memory_bandwidth =...".
1179     	    float sideport_memory_bandwidth = (info->igp_sideport_mclk / 2) * 2 * 2 * 0.7;
1180     	    float mclk = 1000 / info->igp_sideport_mclk;
1181     	    read_delay_latency = 370 * mclk * 800;
1182     	    available_bandwidth = MIN(sideport_memory_bandwidth, core_clock_bandwidth);
1183     	} else {
1184     	    float system_memory_bandwidth = (info->igp_system_mclk / 2) * (1 + 1) * 8 * 0.5 * 1;

** CID 987069:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1421 in RADEONInitDispBandwidthAVIVO()


________________________________________________________________________________________________________
*** CID 987069:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1421 in RADEONInitDispBandwidthAVIVO()
1415     		fill_rate = sclkfreq / (d1_fill_rate_coeff + d2_fill_rate_coeff);
1416     	    } else {
1417     		d1bpp = (d1grph_depth + d1ovl_depth) * 16;
1418     		d2bpp = (d2grph_depth + d2ovl_depth) * 16;
1419     
1420     		if (d1bpp > 64)
>>>     CID 987069:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "d1_fill_rate_coeff = d1bpp ...".
1421     		    d1_fill_rate_coeff = d1bpp / d1_num_line_pair;
1422     		else
1423     		    d1_fill_rate_coeff = d1_num_line_pair;
1424     
1425     		if (d2bpp > 64)
1426     		    d2_fill_rate_coeff = d2bpp / d2_num_line_pair;

** CID 987070:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1426 in RADEONInitDispBandwidthAVIVO()


________________________________________________________________________________________________________
*** CID 987070:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1426 in RADEONInitDispBandwidthAVIVO()
1420     		if (d1bpp > 64)
1421     		    d1_fill_rate_coeff = d1bpp / d1_num_line_pair;
1422     		else
1423     		    d1_fill_rate_coeff = d1_num_line_pair;
1424     
1425     		if (d2bpp > 64)
>>>     CID 987070:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "d2_fill_rate_coeff = d2bpp ...".
1426     		    d2_fill_rate_coeff = d2bpp / d2_num_line_pair;
1427     		else
1428     		    d2_fill_rate_coeff = d2_num_line_pair;
1429     
1430     		fill_rate = sclk / (d1_fill_rate_coeff + d2_fill_rate_coeff);
1431     

** CID 987071:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1471 in RADEONInitDispBandwidthAVIVO()


________________________________________________________________________________________________________
*** CID 987071:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 1471 in RADEONInitDispBandwidthAVIVO()
1465     		else
1466     		    fill_rate = sclkfreq / num_line_pair;
1467     	    } else {
1468     		dxbpp = (dxgrph_depth + dxovl_depth) * 16;
1469     
1470     		if (dxbpp > 64)
>>>     CID 987071:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "fill_rate = sclk / dxbpp / ...".
1471     		    fill_rate = sclk / dxbpp / num_line_pair;
1472     		else
1473     		    fill_rate = sclk / num_line_pair;
1474     
1475     		/* Convert line buffer fill rate from period to frequency */
1476     		fill_rate = 1 / fill_rate;

** CID 987072:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_bios.c: 803 in RADEONGetLegacyConnectorInfoFromBIOS()


________________________________________________________________________________________________________
*** CID 987072:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_bios.c: 803 in RADEONGetLegacyConnectorInfoFromBIOS()
797     		tmp0 = RADEON_BIOS16(tmp + 0x15);
798     		if (tmp0) {
799     		    tmp1 = RADEON_BIOS8(tmp0+2) & 0x07;
800     		    if (tmp1) {
801     			DDCType	= tmp1;
802     			switch (DDCType) {
>>>     CID 987072:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "case DDC_NONE_DETECTED:".
803     			case DDC_NONE_DETECTED:
804     			    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No DDC for LCD\n");
805     			    break;
806     			case DDC_MONID:
807     			    info->BiosConnector[4].ddc_i2c = legacy_setup_i2c_bus(RADEON_GPIO_MONID);
808     			    break;

** CID 987073:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c: 1016 in RADEONTranslateUserGamma()


________________________________________________________________________________________________________
*** CID 987073:  Control flow issues  (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c: 1016 in RADEONTranslateUserGamma()
1010     	return 5;
1011         else if (user_gamma <= 2350) /* 2.2  */
1012     	return 6;
1013         else if (user_gamma > 2350)  /* 2.5  */
1014     	return 7;
1015         else
>>>     CID 987073:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "return 0U;".
1016     	return 0;
1017     }
1018     
1019     
1020     /****************************************************************************
1021      * SetTransform                                                             *

** CID 987074:    (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c: 227 in RADEONVIP_fifo_read()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c: 230 in RADEONVIP_fifo_read()


________________________________________________________________________________________________________
*** CID 987074:    (DEADCODE)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c: 227 in RADEONVIP_fifo_read()
221     
222         RADEONWaitForIdleMMIO(pScrn);
223         switch(count){
224             case 1:
225                  *buffer=(uint8_t)(INREG(VIPH_REG_DATA) & 0xff);
226                  break;
>>>     CID 987074:    (DEADCODE)
>>>     Execution cannot reach this statement: "case 2U:".
227             case 2:
228                  *(uint16_t *)buffer=(uint16_t) (INREG(VIPH_REG_DATA) & 0xffff);
229                  break;
230             case 4:
231                  *(uint32_t *)buffer=(uint32_t) ( INREG(VIPH_REG_DATA) & 0xffffffff);
232                  break;
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c: 230 in RADEONVIP_fifo_read()
224             case 1:
225                  *buffer=(uint8_t)(INREG(VIPH_REG_DATA) & 0xff);
226                  break;
227             case 2:
228                  *(uint16_t *)buffer=(uint16_t) (INREG(VIPH_REG_DATA) & 0xffff);
229                  break;
>>>     CID 987074:    (DEADCODE)
>>>     Execution cannot reach this statement: "case 4U:".
230             case 4:
231                  *(uint32_t *)buffer=(uint32_t) ( INREG(VIPH_REG_DATA) & 0xffffffff);
232                  break;
233             }
234          while(VIP_BUSY == (status = RADEONVIP_fifo_idle(b, 0xff)));
235          if(VIP_IDLE != status) return FALSE;

** CID 987201:    (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 683 in atombios_crtc_set_pll()
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 695 in atombios_crtc_set_pll()


________________________________________________________________________________________________________
*** CID 987201:    (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 683 in atombios_crtc_set_pll()
677     	    args.v3.usRefDiv = cpu_to_le16(ref_div);
678     	    args.v3.usFbDiv = cpu_to_le16(fb_div);
679     	    args.v3.ucFracFbDiv = frac_fb_div;
680     	    args.v3.ucPostDiv = post_div;
681     	    args.v3.ucPpll = radeon_crtc->pll_id;
682     	    args.v3.ucMiscInfo = (radeon_crtc->crtc_id << 2);
>>>     CID 987201:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
683     	    args.v3.ucTransmitterId = radeon_encoder->encoder_id;
684     	    args.v3.ucEncoderMode = atombios_get_encoder_mode(output);
685     	    break;
686     	case 5:
687     	    args.v5.ucCRTC = radeon_crtc->crtc_id;
688     	    args.v5.usPixelClock = cpu_to_le16(mode->Clock / 10);
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c: 695 in atombios_crtc_set_pll()
689     	    args.v5.ucRefDiv = ref_div;
690     	    args.v5.usFbDiv = cpu_to_le16(fb_div);
691     	    args.v5.ulFbDivDecFrac = cpu_to_le32(frac_fb_div * 100000);
692     	    args.v5.ucPostDiv = post_div;
693     	    args.v5.ucPpll = radeon_crtc->pll_id;
694     	    args.v5.ucMiscInfo = 0; //HDMI depth
>>>     CID 987201:    (FORWARD_NULL)
>>>     Dereferencing null pointer "radeon_encoder".
695     	    args.v5.ucTransmitterID = radeon_encoder->encoder_id;
696     	    args.v5.ucEncoderMode = atombios_get_encoder_mode(output);
697     	    break;
698     	default:
699     	    ErrorF("Unknown table version\n");
700     	    exit(-1);

** CID 987202:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 1085 in RADEONInitCrtc2Base()


________________________________________________________________________________________________________
*** CID 987202:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 1085 in RADEONInitCrtc2Base()
1079     	/* can't get at sarea in a semi-sane way? */
1080     	pSAREA = (void *)((char*)pSAREAPriv - sizeof(XF86DRISAREARec));
1081     
1082     	pSAREAPriv->crtc2_base = Base;
1083     
1084     	if (pSAREAPriv->pfCurrentPage == 1) {
>>>     CID 987202:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "info->dri".
1085     	    Base += info->dri->backOffset - info->dri->frontOffset;
1086     	}
1087         }
1088     #endif
1089         save->crtc2_offset = Base;
1090     

** CID 987203:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 869 in RADEONInitCrtcBase()


________________________________________________________________________________________________________
*** CID 987203:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c: 869 in RADEONInitCrtcBase()
863     	pSAREA->frame.y = (Base / info->CurrentLayout.pixel_bytes)
864     	    / info->CurrentLayout.displayWidth;
865     	pSAREA->frame.width = pScrn->frameX1 - x + 1;
866     	pSAREA->frame.height = pScrn->frameY1 - y + 1;
867     
868     	if (pSAREAPriv->pfCurrentPage == 1) {
>>>     CID 987203:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "info->dri".
869     	    Base += info->dri->backOffset - info->dri->frontOffset;
870     	}
871         }
872     #endif
873         save->crtc_offset = Base;
874     

** CID 987205:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c: 663 in R100PrepareCompositeCP()


________________________________________________________________________________________________________
*** CID 987205:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c: 663 in R100PrepareCompositeCP()
657         if (((dst_pitch >> pixel_shift) & 0x7) != 0)
658     	RADEON_FALLBACK(("Bad destination pitch 0x%x\n", (int)dst_pitch));
659     
660         if (!RADEONSetupSourceTile(pSrcPicture, pSrc, FALSE, TRUE))
661     	return FALSE;
662     
>>>     CID 987205:  Null pointer dereferences  (FORWARD_NULL)
>>>     Comparing "pMaskPicture" to null implies that "pMaskPicture" might be null.
663         if (pMaskPicture && !pMask) {
664     	pMask = RADEONSolidPixmap(pScreen, pMaskPicture->pSourcePict->solidFill.color);
665     	if (!pMask) {
666     	    if (!pSrcPicture->pDrawable)
667     		pScreen->DestroyPixmap(pSrc);
668     	    RADEON_FALLBACK("Failed to create solid scratch pixmap\n");

** CID 987206:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c: 663 in R100PrepareCompositeMMIO()


________________________________________________________________________________________________________
*** CID 987206:  Null pointer dereferences  (FORWARD_NULL)
/home/phil/cov/xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c: 663 in R100PrepareCompositeMMIO()
657         if (((dst_pitch >> pixel_shift) & 0x7) != 0)
658     	RADEON_FALLBACK(("Bad destination pitch 0x%x\n", (int)dst_pitch));
659     
660         if (!RADEONSetupSourceTile(pSrcPicture, pSrc, FALSE, TRUE))
661     	return FALSE;
662     
>>>     CID 987206:  Null pointer dereferences  (FORWARD_NULL)
>>>     Comparing "pMaskPicture" to null implies that "pMaskPicture" might be null.
663         if (pMaskPicture && !pMask) {
664     	pMask = RADEONSolidPixmap(pScreen, pMaskPicture->pSourcePict->solidFill.color);
665     	if (!pMask) {
666     	    if (!pSrcPicture->pDrawable)
667     		pScreen->DestroyPixmap(pSrc);
668     	    RADEON_FALLBACK("Failed to create solid scratch pixmap\n");


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/1449?tab=overview

To manage Coverity Scan email notifications for "coverity-updates%netbsd.org@localhost", click https://scan.coverity.com/subscriptions/edit?email=coverity-updates%40netbsd.org&token=487286ca1a9a4f4bd485d16f66b5e782 .



Home | Main Index | Thread Index | Old Index