By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release. View | Details | Raw Unified | Return to bug 1499
Collapse All | Expand All

(-)arts-1.5.10/libltdl/ltdl.c.CVE-2009-3736 (-8 / +14 lines)
Lines 1454-1462 lt_dlexit () Link Here
1454
}
1454
}
1455
1455
1456
static int
1456
static int
1457
tryall_dlopen (handle, filename)
1457
tryall_dlopen (handle, filename, useloader)
1458
     lt_dlhandle *handle;
1458
     lt_dlhandle *handle;
1459
     const char *filename;
1459
     const char *filename;
1460
     const char *useloader;
1460
{
1461
{
1461
  lt_dlhandle	 cur;
1462
  lt_dlhandle	 cur;
1462
  lt_dlloader   *loader;
1463
  lt_dlloader   *loader;
Lines 1514-1519 tryall_dlopen (handle, filename) Link Here
1514
1515
1515
  while (loader)
1516
  while (loader)
1516
    {
1517
    {
1518
      if (useloader && strcmp(loader->loader_name, useloader))
1519
	{
1520
	  loader = loader->next;
1521
	  continue;
1522
	}
1517
      lt_user_data data = loader->dlloader_data;
1523
      lt_user_data data = loader->dlloader_data;
1518
1524
1519
      cur->module = loader->module_open (data, filename);
1525
      cur->module = loader->module_open (data, filename);
Lines 1556-1562 find_module (handle, dir, libdir, dlname Link Here
1556
  /* try to open the old library first; if it was dlpreopened,
1562
  /* try to open the old library first; if it was dlpreopened,
1557
     we want the preopened version of it, even if a dlopenable
1563
     we want the preopened version of it, even if a dlopenable
1558
     module is available */
1564
     module is available */
1559
  if (old_name && tryall_dlopen(handle, old_name) == 0)
1565
  if (old_name && tryall_dlopen(handle, old_name, "dlpreload") == 0)
1560
    {
1566
    {
1561
      return 0;
1567
      return 0;
1562
    }
1568
    }
Lines 1579-1585 find_module (handle, dir, libdir, dlname Link Here
1579
	    }
1585
	    }
1580
1586
1581
	  sprintf (filename, "%s/%s", libdir, dlname);
1587
	  sprintf (filename, "%s/%s", libdir, dlname);
1582
	  error = (tryall_dlopen (handle, filename) != 0);
1588
	  error = (tryall_dlopen (handle, filename, NULL) != 0);
1583
	  LT_DLFREE (filename);
1589
	  LT_DLFREE (filename);
1584
1590
1585
	  if (!error)
1591
	  if (!error)
Lines 1611-1617 find_module (handle, dir, libdir, dlname Link Here
1611
	  strcat(filename, objdir);
1617
	  strcat(filename, objdir);
1612
	  strcat(filename, dlname);
1618
	  strcat(filename, dlname);
1613
1619
1614
	  error = tryall_dlopen (handle, filename) != 0;
1620
	  error = tryall_dlopen (handle, filename, NULL) != 0;
1615
	  LT_DLFREE (filename);
1621
	  LT_DLFREE (filename);
1616
	  if (!error)
1622
	  if (!error)
1617
	    {
1623
	    {
Lines 1634-1640 find_module (handle, dir, libdir, dlname Link Here
1634
	  }
1640
	  }
1635
	strcat(filename, dlname);
1641
	strcat(filename, dlname);
1636
1642
1637
	error = (tryall_dlopen (handle, filename) != 0);
1643
	error = (tryall_dlopen (handle, filename, NULL) != 0);
1638
	LT_DLFREE (filename);
1644
	LT_DLFREE (filename);
1639
	if (!error)
1645
	if (!error)
1640
	  {
1646
	  {
Lines 1749-1755 find_file (basename, search_path, pdir, Link Here
1749
      strcpy(filename+lendir, basename);
1755
      strcpy(filename+lendir, basename);
1750
      if (handle)
1756
      if (handle)
1751
	{
1757
	{
1752
	  if (tryall_dlopen (handle, filename) == 0)
1758
	  if (tryall_dlopen (handle, filename, NULL) == 0)
1753
	    {
1759
	    {
1754
	      result = (lt_ptr) handle;
1760
	      result = (lt_ptr) handle;
1755
	      goto cleanup;
1761
	      goto cleanup;
Lines 2063-2069 lt_dlopen (filename) Link Here
2063
      /* lt_dlclose()ing yourself is very bad!  Disallow it.  */
2069
      /* lt_dlclose()ing yourself is very bad!  Disallow it.  */
2064
      LT_DLSET_FLAG (handle, LT_DLRESIDENT_FLAG);
2070
      LT_DLSET_FLAG (handle, LT_DLRESIDENT_FLAG);
2065
2071
2066
      if (tryall_dlopen (&newhandle, 0) != 0)
2072
      if (tryall_dlopen (&newhandle, 0, NULL) != 0)
2067
	{
2073
	{
2068
	  LT_DLFREE (handle);
2074
	  LT_DLFREE (handle);
2069
	  return 0;
2075
	  return 0;
Lines 2368-2374 lt_dlopen (filename) Link Here
2368
#ifdef LTDL_SYSSEARCHPATH
2374
#ifdef LTDL_SYSSEARCHPATH
2369
		      && !find_file (basename, sys_search_path, 0, &newhandle)
2375
		      && !find_file (basename, sys_search_path, 0, &newhandle)
2370
#endif
2376
#endif
2371
		   )) && tryall_dlopen (&newhandle, filename))
2377
		   )) && tryall_dlopen (&newhandle, filename, NULL))
2372
	{
2378
	{
2373
	  LT_DLFREE (handle);
2379
	  LT_DLFREE (handle);
2374
	  goto cleanup;
2380
	  goto cleanup;

Return to bug 1499