{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":8544617,"defaultBranch":"ros2-devel","name":"urg_node","ownerLogin":"ros-drivers","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-03-03T23:44:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2349782?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1679149902.802179","currentOid":""},"activityList":{"items":[{"before":"462b2b8d7cd3df2c7d58a3e0016990ce283953d1","after":"369ee4d8dc80b8440402f0b1488a7e9b4248d65f","ref":"refs/heads/ros2-devel","pushedAt":"2024-01-31T04:22:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"README syntax updates (#112)\n\nUpdates to ROS 2 syntax and minor rewording. I also moved RViz to the\r\nvisualization section.\r\nFixes #79","shortMessageHtmlLink":"README syntax updates (#112)"}},{"before":"fe43b86842a7fc173aaba338b3a133da57674537","after":"462b2b8d7cd3df2c7d58a3e0016990ce283953d1","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-25T15:26:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"Prevent diagnostics segfault by accessing empty urg_ pointer (#107)\n\nThis PR prevents a potential segfault in the populateDiagnostics\r\nfunction, when the driver disconnects the urg_ pointer is reset. If the\r\ndiagnostics function is in the middle of execution (it runs in a\r\nseparate thread) at the time it will try to call a function on an empty\r\npointer. This happened more frequently before\r\n[PR-102](https://github.com/ros-drivers/urg_node/pull/102) but it still\r\ncould potentially happen.\r\n\r\nThe populateDiagnostics function is accessing urg_ for things that are\r\nstatic or it already has access to via local variables so I've just\r\nrefactored the function so it only accesses urg_ to check if it exists.","shortMessageHtmlLink":"Prevent diagnostics segfault by accessing empty urg_ pointer (#107)"}},{"before":"08e04fcb0e515d28f32e97a3514cff0b7d60a62f","after":"fe43b86842a7fc173aaba338b3a133da57674537","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-23T15:30:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"Fixed signed to unsigned conversion error in sendCommand (#105)\n\nFixes a bug in the\r\n[sendCommand](https://github.com/ros-drivers/urg_node/blob/1166ab25aab1d085183f7f6de42d3bf562c127a7/src/urg_c_wrapper.cpp#L328)\r\nfunction, socket read returns a sstize_t which was being converted to an\r\nunsigned (size_t).\r\n\r\nIf a read error occurs it will return -1 which is converted to SIZE_MAX\r\n(18446744073709551615 on our machines) and then added to the\r\ntotal_read_len which wraps around to same value it had already (so the\r\nloop termination condition is never reached) and also fools the error if\r\nstatement because it's greater than 0.","shortMessageHtmlLink":"Fixed signed to unsigned conversion error in sendCommand (#105)"}},{"before":"1166ab25aab1d085183f7f6de42d3bf562c127a7","after":"08e04fcb0e515d28f32e97a3514cff0b7d60a62f","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-23T15:29:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"Empty return value from sendCommand causes a crash (#104)\n\nA quick bug fix, I found that an error in the\r\n[sendCommand](https://github.com/ros-drivers/urg_node/blob/1166ab25aab1d085183f7f6de42d3bf562c127a7/src/urg_c_wrapper.cpp#L328)\r\nfunction in urg_c_wrapper returns an empty string. However none of the\r\ncallers are checking for an empty string so this results in an unhandled\r\nstd::out_of_range exception:\r\n\r\n```\r\n[urg_node_driver-25] [ERROR 1679511084.962595117] [urg_node_front_left_node]: Buffer creation bounds exceeded, shouldn't allocate: 4294967291 bytes (sendCommand() at /root/v2.0.6/src/urg_node/src/urg_c_wrapper.cpp:597)\r\n[urg_node_driver-25] terminate called after throwing an instance of 'std::out_of_range'\r\n[urg_node_driver-25] what(): basic_string::erase: __pos (which is 18446744073709551615) > this->size() (which is 0)\r\n[ERROR] [urg_node_driver-25]: process has died [pid 42882, exit code -6, cmd '/\r\n```\r\n\r\nThis PR just adds an empty string check in the two callers to prevent\r\nthe crash. There are probably not many people using the detailed status\r\nbut we're using it on the UAM-05LP-T301 to get the error codes so very\r\nuseful to get this fixed.","shortMessageHtmlLink":"Empty return value from sendCommand causes a crash (#104)"}},{"before":"ccecccc596c5f6d9a174be30bd89f18d4feda82d","after":"1166ab25aab1d085183f7f6de42d3bf562c127a7","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-18T14:31:41.904Z","pushType":"push","commitsCount":2,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"1.1.1","shortMessageHtmlLink":"1.1.1"}},{"before":"098ff9fe542181a4521d8ef0853ec6113c754b56","after":"ccecccc596c5f6d9a174be30bd89f18d4feda82d","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-18T14:28:28.559Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"add branch information","shortMessageHtmlLink":"add branch information"}},{"before":"d1436afda3e78689ee09d450061525ae10b0b464","after":"098ff9fe542181a4521d8ef0853ec6113c754b56","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-18T14:23:52.481Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"add license file, same as ROS1","shortMessageHtmlLink":"add license file, same as ROS1"}},{"before":"7f8c24eca7c59b512ba0da47202cfcf0a54c6892","after":"d1436afda3e78689ee09d450061525ae10b0b464","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-18T14:22:10.140Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"increased delay in diagnostics thread to slow down publish rate (#102)\n\nThis is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high","shortMessageHtmlLink":"increased delay in diagnostics thread to slow down publish rate (#102)"}},{"before":"ae93861fe3e5136094f1f944228db4d2e0117710","after":null,"ref":"refs/heads/urdf","pushedAt":"2023-03-18T02:38:14.180Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"}},{"before":"cbd8c4e3ab1b739e38808ba598e16f935c3e9450","after":"7f8c24eca7c59b512ba0da47202cfcf0a54c6892","ref":"refs/heads/ros2-devel","pushedAt":"2023-03-18T02:38:08.084Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeferguson","name":"Michael Ferguson","path":"/mikeferguson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/899410?s=80&v=4"},"commit":{"message":"Added URDF for UST10. (#103)","shortMessageHtmlLink":"Added URDF for UST10. (#103)"}},{"before":null,"after":"ae93861fe3e5136094f1f944228db4d2e0117710","ref":"refs/heads/urdf","pushedAt":"2023-03-17T17:07:03.088Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tonybaltovski","name":"Tony Baltovski","path":"/tonybaltovski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2964763?s=80&v=4"},"commit":{"message":"Added URDF for UST10.","shortMessageHtmlLink":"Added URDF for UST10."}},{"before":"53c0b6d7c14905d3cfcf31f022414e0c9bffe70c","after":"08b675c5285b6048f09ddce5fabaf525ad5b971c","ref":"refs/heads/melodic-devel","pushedAt":"2023-03-17T16:55:24.527Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"tonybaltovski","name":"Tony Baltovski","path":"/tonybaltovski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2964763?s=80&v=4"},"commit":{"message":"Merge pull request #100 from ros-o/obese-devel\n\n[ROS-O] drop obsolete c++11 flag","shortMessageHtmlLink":"Merge pull request #100 from ros-o/obese-devel"}},{"before":null,"after":"53c0b6d7c14905d3cfcf31f022414e0c9bffe70c","ref":"refs/heads/melodic-devel","pushedAt":"2023-03-17T16:54:42.891Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tonybaltovski","name":"Tony Baltovski","path":"/tonybaltovski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2964763?s=80&v=4"},"commit":{"message":"Added license file.","shortMessageHtmlLink":"Added license file."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD7aLXKwA","startCursor":null,"endCursor":null}},"title":"Activity ยท ros-drivers/urg_node"}