问题列表 - 第5795页

snprintf格式字符串安全漏洞问题

我们对这行代码有一个Coverity错误:

snprintf( tempStr, size, testStrings[testID], A2DtoV(testResults[testID].value),
A2DtoV(testResults[testID].min),A2DtoV(testResults[testID].max));
Run Code Online (Sandbox Code Playgroud)

错误说:

non_const_printf_format_string: "format string is not a string literal, 
potential security vulnerability if user controlled"
Run Code Online (Sandbox Code Playgroud)

我将testStrings更改为const,但是没有做任何事情:

static const char *testStrings[] = {"1", ... etc};
Run Code Online (Sandbox Code Playgroud)

关于这个错误究竟是什么意思的任何想法?

c c++ security printf

5
推荐指数
1
解决办法
4119
查看次数

在C++中访问环境变量

我想$HOME在我正在编写的C++程序中访问环境变量.如果我用C编写代码,我只是使用该getenv()函数,但我想知道是否有更好的方法来实现它.这是我到目前为止的代码:

std::string get_env_var( std::string const & key ) {                                 
    char * val;                                                                        
    val = getenv( key.c_str() );                                                       
    std::string retval = "";                                                           
    if (val != NULL) {                                                                 
        retval = val;                                                                    
    }                                                                                  
    return retval;                                                                        
}           
Run Code Online (Sandbox Code Playgroud)

我应该用getenv()C++访问环境变量吗?是否有任何我可能遇到的问题,我可以通过一点点知识来避免?

c++ environment-variables

64
推荐指数
4
解决办法
8万
查看次数

Javascript IE7:预期的对象

我在IE7的脚本上获得第1行的错误"Object Expected",char 1(这是 - 这是).它在Firefox中工作正常,错误控制台什么都不打印.

我尝试了多种方法来调用我的函数,但没有一种方法:

<a href="javascript:doit()">Turingmaschine starten</a>
<a href="#" onclick="doit()">Turingmaschine starten</a>
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

<script type="text/javascript" language="JavaScript">

var state;
var index;
var program;
var data;

const S=0;
const X=1;
const S2=2;
const X2=3;
const M=4;
const E="SE";

function doit()
{
    state=document.getElementById("stat").value;
    program = document.getElementById("prog").value.split("\n");
    index = document.getElementById("dat").value.indexOf("Z")>>1;
    data = document.getElementById("dat").value.replace(/Z,/, "").split(",");

    for (var i = 0; i<program.length; i++)
    {
        program[i]=program[i].split(",");
    }

    while(state!=E)
    {
        var i;
        for (i = 0; i<program.length; i++)
        {
            if (program[i][S]==state && program[i][X]==data[index])
            {
                state = program[i][S2]; …
Run Code Online (Sandbox Code Playgroud)

html javascript internet-explorer internet-explorer-7

2
推荐指数
1
解决办法
7318
查看次数

如何根据命名空间正确命名类?

人们经常可以看到类名带有对它们所属的命名空间的引用.其中一个最流行的例子是.NET'Xml'命名空间,其中定义的每个类都以'Xml'标记为前缀.

这对我来说似乎总是多余的,但最近我意识到在某些情况下它可能是有用的......但仍然是多余的.

我想知道人们如何处理这个问题.

谢谢.

.net namespaces class naming-conventions

0
推荐指数
1
解决办法
306
查看次数

帮助java中的包 - 导入不起作用

我是一名C++开发人员 - 不是java开发人员,但必须让这段代码正常工作......

我有2个公共类,将被另一个产品使用.我在每个java文件中使用了package指令.

package com.company.thing;

class MyClass ...
Run Code Online (Sandbox Code Playgroud)

当我尝试编译使用我添加的测试应用程序时

import com.company.thing.*;
Run Code Online (Sandbox Code Playgroud)

javac编译器失败,com.company不存在.(即使我将它编译在与我刚刚制作包的类文件相同的目录中)

我确信我正在做一些愚蠢和愚蠢的事情.

我已经阅读了http://java.sun.com/docs/books/tutorial/java/package/usepkgs.html页面并尝试设置目录结构,如/ com/company/thing等,但要么我有完全搞砸了或者错过了别的东西.

编辑感谢您的建议 - 我之前尝试过类路径.它没有帮助.

我试过编译

javac -classpath <parent> client.java 
Run Code Online (Sandbox Code Playgroud)

结果是:

package com.company does not exist
Run Code Online (Sandbox Code Playgroud)

我在\ com\company\product中有我要导入的代码(两个java文件).我编译好了.(它们包含MyClass)我甚至为它们制作了一个jar文件.我将jar文件复制到父目录.

然后我做了(在客户端java文件的父目录中)

javac -cp <jarfile> *.java
Run Code Online (Sandbox Code Playgroud)

结果是:

cannot access MyClass
bad class file: MyClass.class(:MyClass.class)
class file contains wrong class: com.company.product.MyClass
Please remove or make sure it appears in the correct subdirectory of the classpath.
Run Code Online (Sandbox Code Playgroud)

编辑

如果我使用MyClass的完全限定名称并在父目录中编译它,我获得了编译和运行的客户端代码.我现在完全糊涂了.

没有设置类路径编译 - 只是

javac *.java 
Run Code Online (Sandbox Code Playgroud)

在父目录中 - 它工作正常.

我可以得到一个测试应用程序来编译,但是当我必须将它集成到生产代码中时,这不会削减它.仍在寻求帮助.

编辑:

最后 …

java import packages

29
推荐指数
4
解决办法
15万
查看次数

当数据正确显示时,为什么我在Spring MVC Web应用程序中获得Hibernate LazyInitializationException?

我正在尝试使用Spring MVC创建一个Web应用程序,将Hibernate作为其ORM层.但是,由于我对这两个框架缺乏经验,我正在努力.

以下代码将正确显示我正在查找的所有记录,但仍将堆栈跟踪放入我的日志中.我无法找到有关集成Hibernate和SpringMVC的详细文档(我查看了springsource.org并阅读了关于interweb的各种文章).谁能指出我在这里做错了什么?

请注意,我花了一些时间试图在互联网上找到答案,包括查看这个问题.遗憾的是没有帮助.

我还应该注意,此应用程序的ORM部分已在独立的Java应用程序中使用和测试,没有任何问题.所以我认为Spring MVC和Hibernate的集成导致了这个问题.

这是具有着名的延迟初始化问题的堆栈跟踪(截断);

2009-03-10 12:14:50,353 [http-8084-6] ERROR org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:19) - could not initialize proxy - no Session
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
    at com.generic.orm.generated.SearchRule$$EnhancerByCGLIB$$92abaed6.toString(<generated>)
    at java.lang.String.valueOf(String.java:2827)
    at java.lang.StringBuffer.append(StringBuffer.java:219)
    at org.apache.commons.lang.builder.ToStringStyle.appendDetail(ToStringStyle.java:578)
    at org.apache.commons.lang.builder.ToStringStyle.appendInternal(ToStringStyle.java:542)
    at org.apache.commons.lang.builder.ToStringStyle.append(ToStringStyle.java:428)
    at org.apache.commons.lang.builder.ToStringBuilder.append(ToStringBuilder.java:840)
    at org.apache.commons.lang.builder.ReflectionToStringBuilder.appendFieldsIn(ReflectionToStringBuilder.java:606)
.....
Run Code Online (Sandbox Code Playgroud)

这是我的网页控制器的代码;

private List<Report> getReports() {
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();

    List<Report> reports = session.createCriteria(Report.class).list();
    Hibernate.initialize(reports);

    session.getTransaction().commit();
    return reports;
}
Run Code Online (Sandbox Code Playgroud)

使用此显示html在网页上使用哪个;

<table border="1">
    <c:forEach items="${model.reports}" var="report">
        <tr>
            <td><c:out …
Run Code Online (Sandbox Code Playgroud)

java spring netbeans hibernate web-applications

11
推荐指数
2
解决办法
5万
查看次数

无法在SQL Server中使用用户定义函数在视图上创建索引

在SQL Server 2005中,我试图在索引视图中使用用户定义函数,该视图将用于全文索引.我已经能够让UDF使用存储过程和有问题的视图.但是,当我尝试在视图上创建索引时,我收到以下错误...

无法在视图"DevDatabase.dbo.View_PersonSearch"上创建索引,因为视图引用的函数"dbo.GetCurrentImage"执行用户或系统数据访问.

我很难过.以下是我想要做的一个例子.我错过了什么或者这甚至可能吗?

用户定义的功能

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER FUNCTION [dbo].[GetCurrentImage](@Person_ID int) 
RETURNS int
WITH SCHEMABINDING
AS
BEGIN

    -- Declare the return variable here
    DECLARE @Img_ID int

    SET @Img_ID = (**sql that selects image** )

    RETURN @Img_ID

END
GO
Run Code Online (Sandbox Code Playgroud)

查看索引创建

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER VIEW [dbo].[View_PersonSearch]
WITH SCHEMABINDING
AS
    SELECT  Person_ID,
            (**Select fields to search on**) AS SearchArea,
            dbo.GetCurrentImage(Person_ID) AS FK_Img_ID
FROM    dbo.Person
GO

CREATE UNIQUE CLUSTERED INDEX Index_Person_ID …
Run Code Online (Sandbox Code Playgroud)

sql-server indexing views user-defined-functions

9
推荐指数
1
解决办法
8860
查看次数

django更新模型

我的模型如下

class UserPrivacy(models.Model):
    user = models.ForeignKey(User)
    profile = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    contact = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    friends = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    location = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
Run Code Online (Sandbox Code Playgroud)

我的模型如下

class PrivacyForm(ModelForm):
    class Meta:
        model = UserPrivacy
        exclude = ('user','location')
Run Code Online (Sandbox Code Playgroud)

我的函数看起来像这样显示和更新表单.

def show_privacy(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = PrivacyForm(request.POST, instance=User.objects.get(pk=request.session['id']))
        if form.is_valid():
            form.save()

    else:
        form = PrivacyForm()

    return render_to_response('settings_privacy.html', {'form': form}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我在db中的user_id是1 ..但是当我发布表单时,它永远不会更新.我知道form.save()因为在那里放一个打印而被调用,它会在开发服务器中显示出来.

django modelform

1
推荐指数
1
解决办法
6738
查看次数

正则表达式匹配img标记的url

这个正则表达式:

<IMG\s([^"'>]+|'[^']*'|"[^"]*")+>
Run Code Online (Sandbox Code Playgroud)

在给出这个文本时似乎无休止地处理

<img src=http://www.blahblahblah.com/houses/Images/
    single_and_multi/roof/feb09/01_img_trrnjks_vol2009.jpg' />
Run Code Online (Sandbox Code Playgroud)

我希望它 - 找不到匹配(很快) - 因为文本中只有一个单引号.我已经在C#中使用了Expresso正则表达式工具.如果文本更短,它似乎工作.

.net c# regex

1
推荐指数
1
解决办法
663
查看次数

WPF相当于Windows窗体中的"Control.CheckForIllegalCrossThreadCalls"

我想在我的WPF应用程序中禁用跨线程异常.在Windows窗体应用程序中,我会这样做:

Control.CheckForIllegalCrossThreadCalls = False
Run Code Online (Sandbox Code Playgroud)

如何在WPF应用程序中执行相同操作?

vb.net wpf multithreading exception winforms

2
推荐指数
1
解决办法
3838
查看次数