<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Segmentation error with string assignment in RHEL5.5 in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5357525#M59971</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; The ouput returned for&amp;nbsp;eventFld﻿&amp;nbsp;&amp;nbsp;after the assignment and the address of&amp;nbsp; eventFld.c_str() is also below.&lt;/P&gt;&lt;P&gt;=======&lt;/P&gt;&lt;P&gt;eventFld value 1:&lt;BR /&gt;HEx address :0x7fff7724ff90&lt;/P&gt;&lt;P&gt;========&lt;/P&gt;&lt;P&gt;I tried to print o/p of other string used in a function , and found the value is printed properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am mentioning the defination of function getEventFieldValue() as below and also the structure pointed by elem .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;struct cleanseRules&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char ruleName[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char cmpName[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; int promote_seq;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; int correct_seq;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char status[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char subsid[30];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;cleanseRules *elem = 0;&lt;BR /&gt;CHECK_ALLOCATION(elem = new cleanseRules);&lt;/P&gt;&lt;P&gt;string RaCleanseTable::getEventFieldValue(char *ruleName_in, char *cmpName_in)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char rule_name[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char cmp_name[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char subsid_out[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_ENTERFUNC("%s RaCleanseTable::getEventFieldValue ","");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(rule_name,'\0',sizeof(rule_name));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(cmp_name,'\0',sizeof(rule_name));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(subsid_out,'\0',sizeof(subsid_out));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(rule_name, ruleName_in);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(cmp_name, cmpName_in);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_INFOTRACE("Rule Name %s and Compare Name %s ",rule_name,cmp_name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC SQL SELECT SUBSID INTO :subsid_out FROM RA_CLEANSE_RULES WHERE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMP_NAME = :cmp_name and RULE_NAME = :rule_name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DifUtilities::checkDatabaseError();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch ( NoMoreRows &amp;amp; nmr)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return string("");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETHROW("updateRuleTable","getEventFieldValue-01")&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DifUtilities::trimStr(subsid_out);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string subsid_ret = subsid_out&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_INFOTRACE("EVENT Key field from the cleanse rule table is %s. ",subsid_ret.c_str());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_ENTERFUNC("%s RaCleanseTable::getEventFieldValue ","");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return subsid_ret;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 10 Oct 2011 10:04:31 GMT</pubDate>
    <dc:creator>Sarada</dc:creator>
    <dc:date>2011-10-10T10:04:31Z</dc:date>
    <item>
      <title>Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355617#M59967</link>
      <description>&lt;P&gt;My application is failing with segmentation violation in lunux RHEL5.5 platform.&lt;/P&gt;&lt;P&gt;The gdb trace is as below -&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_INFOTRACE("Rules Getting Fetched for %s and Compare %s",elem-&amp;gt;ruleName,elem-&amp;gt;cmpName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //string eventFld = ruleTable.getEventFieldValue(elem-&amp;gt;ruleName, elem-&amp;gt;cmpName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char* eventFld = ruleTable.getEventFieldValue(elem-&amp;gt;ruleName, elem-&amp;gt;cmpName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_LOG_USER_INFO("printing eventFld1")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // RA_LOG_USER_INFO(eventFld.c_str())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;"printing eventFld2"&amp;lt;&amp;lt;&amp;nbsp; eventFld &amp;lt;&amp;lt;endl;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;"printing elem-&amp;gt;subsid" &amp;lt;&amp;lt; elem-&amp;gt;subsid &amp;lt;&amp;lt; endl;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_LOG_USER_INFO("printing elem-&amp;gt;subsid")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_LOG_USER_INFO(elem-&amp;gt;subsid)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //strcpy(elem-&amp;gt;subsid , eventFld.c_str());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(elem-&amp;gt;subsid , eventFld);&lt;BR /&gt;Program received signal SIGSEGV, Segmentation fault.&lt;BR /&gt;0x0000003ed38792a0 in strcpy () from /lib64/libc.so.6&lt;BR /&gt;(gdb) bt&lt;BR /&gt;#0&amp;nbsp; 0x0000003ed38792a0 in strcpy () from /lib64/libc.so.6&lt;BR /&gt;#1&amp;nbsp; 0x000000000041167c in generateCERuleList(char*, ListIterator&amp;lt;cleanseRules, cleanseRules&amp;gt;*, int, int, char**) ()&lt;BR /&gt;Backtrace stopped: previous frame inner to this frame (corrupt stack?)&lt;/P&gt;&lt;P&gt;While checing the code , we observed the below assignment to string variable "eventFld" is failing though the function getEventFieldValue() is returning the correct string value ( return by value).&lt;BR /&gt;And then the process is crashing in strcpy function.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string eventFld = ruleTable.getEventFieldValue(elem-&amp;gt;ruleName, elem-&amp;gt;cmpName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(elem-&amp;gt;subsid , eventFld.c_str());&lt;/P&gt;&lt;P&gt;We tried to use char* type instead of string for the variable eventFld and also chnaged in getEventFieldValue() function to return char* , then the process ran successfully.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; char* eventFld = ruleTable.getEventFieldValue(elem-&amp;gt;ruleName, elem-&amp;gt;cmpName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(elem-&amp;gt;subsid , eventFld);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;Note that the same old code was working properly and string operation ( mentioned above) was happening accurately in RHEL4.5. We have seeing this issue only in RHEL5.5.&lt;BR /&gt;Whetehr we have to apply any OS patch ??&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Do you have any suggestion on this.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2011 10:24:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355617#M59967</guid>
      <dc:creator>Sarada</dc:creator>
      <dc:date>2011-10-07T10:24:48Z</dc:date>
    </item>
    <item>
      <title>Re: Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355629#M59968</link>
      <description>&lt;P&gt;&amp;gt;While checking the code, we observed the below assignment to string variable "eventFld" is failing though the function getEventFieldValue() is returning the correct string value (return by value).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Failing how?&amp;nbsp; What happens when you print out eventFld﻿?&lt;/P&gt;&lt;P&gt;Any reason you don't return by const ref?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;And then the process is crashing in strcpy function.&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(elem-&amp;gt;subsid, eventFld.c_str());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you print out the hex address of: eventFld.c_str()﻿&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;We tried to use char* type instead of string for the variable eventFld and also changed in getEventFieldValue() function to &amp;gt;return char* , then the process ran successfully.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you are just looking at the field, that may be more efficient than a string.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2011 10:47:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355629#M59968</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-07T10:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355951#M59969</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="arial black,avant garde"&gt;No value printed While printing the eventFld﻿ after the below assignment. but the value returned from &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;getEventFieldValue() is a string.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;string eventFld = ruleTable.getEventFieldValue(elem-&amp;gt;ruleName, elem-&amp;gt;cmpName);&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2011 16:00:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5355951#M59969</guid>
      <dc:creator>Sarada</dc:creator>
      <dc:date>2011-10-07T16:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5356189#M59970</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="arial black,avant garde"&gt;&amp;gt;No value printed while printing the eventFld﻿ after the below assignment.&lt;/FONT&gt;&lt;/STRONG&gt;﻿&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What is the exact output? &amp;nbsp;Do you get any better output for other strings?&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2011 20:00:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5356189#M59970</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-07T20:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5357525#M59971</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; The ouput returned for&amp;nbsp;eventFld﻿&amp;nbsp;&amp;nbsp;after the assignment and the address of&amp;nbsp; eventFld.c_str() is also below.&lt;/P&gt;&lt;P&gt;=======&lt;/P&gt;&lt;P&gt;eventFld value 1:&lt;BR /&gt;HEx address :0x7fff7724ff90&lt;/P&gt;&lt;P&gt;========&lt;/P&gt;&lt;P&gt;I tried to print o/p of other string used in a function , and found the value is printed properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am mentioning the defination of function getEventFieldValue() as below and also the structure pointed by elem .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;struct cleanseRules&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char ruleName[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char cmpName[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; int promote_seq;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; int correct_seq;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char status[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; char subsid[30];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;cleanseRules *elem = 0;&lt;BR /&gt;CHECK_ALLOCATION(elem = new cleanseRules);&lt;/P&gt;&lt;P&gt;string RaCleanseTable::getEventFieldValue(char *ruleName_in, char *cmpName_in)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char rule_name[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char cmp_name[10];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char subsid_out[50];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_ENTERFUNC("%s RaCleanseTable::getEventFieldValue ","");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(rule_name,'\0',sizeof(rule_name));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(cmp_name,'\0',sizeof(rule_name));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(subsid_out,'\0',sizeof(subsid_out));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(rule_name, ruleName_in);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(cmp_name, cmpName_in);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_INFOTRACE("Rule Name %s and Compare Name %s ",rule_name,cmp_name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC SQL SELECT SUBSID INTO :subsid_out FROM RA_CLEANSE_RULES WHERE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMP_NAME = :cmp_name and RULE_NAME = :rule_name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DifUtilities::checkDatabaseError();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch ( NoMoreRows &amp;amp; nmr)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return string("");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETHROW("updateRuleTable","getEventFieldValue-01")&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DifUtilities::trimStr(subsid_out);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string subsid_ret = subsid_out&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_INFOTRACE("EVENT Key field from the cleanse rule table is %s. ",subsid_ret.c_str());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RA_ENTERFUNC("%s RaCleanseTable::getEventFieldValue ","");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return subsid_ret;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2011 10:04:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5357525#M59971</guid>
      <dc:creator>Sarada</dc:creator>
      <dc:date>2011-10-10T10:04:31Z</dc:date>
    </item>
    <item>
      <title>Re: Segmentation error with string assignment in RHEL5.5</title>
      <link>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5358637#M59972</link>
      <description>&lt;P&gt;&amp;gt;The output returned for&amp;nbsp;eventFld﻿&amp;nbsp;&amp;nbsp;after the assignment and the address of&amp;nbsp; eventFld.c_str() is also below.﻿&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have you tried printing the content of that hex address?&lt;/P&gt;&lt;P&gt;When I print the string directly, it shows _M_dataplus and _M_p field, the later contains the chars.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2011 09:45:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/segmentation-error-with-string-assignment-in-rhel5-5/m-p/5358637#M59972</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-11T09:45:48Z</dc:date>
    </item>
  </channel>
</rss>

